コンテナを元にイメージを作る

1. ベースになるUbuntu 20.04をPULLする

$ docker pull ubuntu:20.04
20.04: Pulling from library/ubuntu
345e3491a907: Pull complete
57671312ef6f: Pull complete
5e9250ddb7d0: Pull complete
Digest: sha256:adf73ca014822ad8237623d388cedf4d5346aa72c270c5acc01431cc93e18e2d
Status: Downloaded newer image for ubuntu:20.04
docker.io/library/ubuntu:20.04
  • Ubuntu:20.04をPULLする

2. Ubutu 20.04のコンテナを起動してカスタマイズする

$ docker run --name my-ubuntu-2004 -it ubuntu:20.04 /bin/bash  # (1)
root@cb61f16f968d:/# echo hello > /tmp/test.txt              # (2)
root@cb61f16f968d:/# exit                                    # (3)
$ docker ps -a                                                 # (4)
CONTAINER ID  IMAGE         COMMAND      CREATED             STATUS                      PORTS  NAMES
cb61f16f968d  ubuntu:20.04  "/bin/bash"  About a minute ago  Exited (0) 36 seconds ago          my-ubuntu-2004
  • (1) コンテナをmy-ubuntu-2004というコンテナ名で起動して、コンテナの中にbashシェルでログインして、
  • (2) コンテナ内でカスタマイズする。ここでは/tmp/test.txtというファイルを作成している
  • (3) コンテナからexitして出る
  • (4) このコンテナのIDを確認する。ここでは cb61f16f968d

3. コンテナからイメージを作成する

$ docker commit cb61f16f968d ubuntu:my-ubuntu-2004
sha256:b009d9ccd5bf3ab2ad92c338ede72b183e519eb1daed0f26fb668981374b05df
  • 上で確認したコンテナIDを指定して、COMMITする。ここではイメージ名 ubunu、タグ名 my-ubuntu-2004 としている

4. できたイメージからコンテナを起動して、コンテナの内容を確認する

$ docker run --name my-container -it -d ubuntu:my-ubuntu-2004 /bin/bash  # (1)
ff6fa3a8558e0a8095c60ee052b819045fd19a89a1901d1430700c1e4f91ee40
$ docker ps
CONTAINER ID        IMAGE                   COMMAND             CREATED             STATUS              PORTS               NAMES
ff6fa3a8558e        ubuntu:my-ubuntu-2004   "/bin/bash"         5 seconds ago       Up 5 seconds                            my-container
$ docker exec my-container /usr/bin/cat /tmp/test.txt                    # (2)
hello
  • (1) 上で作ったイメージ ubuntu:my-ubuntu-2004 を指定してコンテナを起動。ここでは確認作業しやすいように-it -dでbashが終了しないようにしている
  • (2) コンテナに対してcat /tmp/test.txtを実行して、期待通りにhelloというカスタマイズした内容を確認

参考


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2021-06-04 (金) 05:29:18