背景
何番煎じかもわからない Docker commit についての記事です。
最近 Docker を触り初めて、「おぉ Debian 動いた!とりあえずなんかソースビルドしてみるか」なんてことをしていました。
ただ、ソースをダウンロードしようとして git
を打つと、コマンドが無い。そう、初期状態の Debian イメージからでは Git をインストールするところから始めなければならない。
コンテナ作る度に apt update
と apt install -y git
を毎回打つのは地味に面倒・・・。
「そうだ、この機会に、なんかイメージ自作するヤツ (docker commit) を習得しとくか。」
ということで、本記事書きに至りました。
docker commit
ルート
下ごしらえのコンテナ作り
Debian コンテナを作って立ち上げ、入ります。
debian へのこだわりは特にありません。ubuntu にしたければ、記事の debian を読み替えれば OK。
docker pull debian # 初回のみ
docker create --name image-make -it debian
docker start image-make
docker exec -it image-make /bin/bash
# or
docker run --name image-make -it debian /bin/bash
コンテナに入ったら、Git のインストールをし、コンテナから出ます。
apt update
apt install -y git
exit
これで下ごしらえは完了。コンテナを止めます。
docker stop image-make
あとは commit
コンテナを commit
してできあがり。debian-git
というイメージ名にします。
docker commit image-make debian-git
docker images
# REPOSITORY TAG IMAGE ID CREATED SIZE
# debian-git latest dce1db1d4b6b 3 minutes ago 259MB
# debian latest 7b34f2fc561c 2 months ago 117MB
さっそく作ったイメージからコンテナを作って試してみましょう。
docker create --name my-con -it debian-git
docker start my-con
docker exec -it my-con /bin/bash
# or
docker run --name my-con -it debian-git /bin/sh
git --version
バージョンが出力されれば OK。これで、以降 Git 入り Debian を使いたければ、debian-git
イメージを呼び出せばヨシ。
docker build
ルート
(2024/09/08 追記)
上の手順、docker build
ならもっと簡単でした。
下ごしらえは dockerfile
の準備。
FROM debian
RUN apt update
RUN apt install -y git
あとは Build するだけ。
docker build -t debian-git .
おわり
Dockerfile
と docker build
で作る方法もあるっぽい。まだ勉強できていないので、気が向いたら追記予定です。
軽く勉強したらサクッと dockerfile
いじれました。
多分 docker commit
ルートでイメージ作るのは実験途中とかそれくらいで、普通は docker build
ルートっぽいです。