この投稿では、必要に応じて、Docker ハブのパブリック リポジトリからプルされた標準の Docker イメージを変更する方法について説明します。この投稿の例では、最新の CentOS Docker イメージを取得し、テスト ディレクトリ「test_dir」を追加して、そこにテスト ファイル「test_fiel」を作成します。
Docker イメージにディレクトリとイメージを追加する
1. 最初のステップは、docker ハブから最新の CentOS イメージを取得することです。
# docker pull centos Using default tag: latest latest: Pulling from library/centos d9aaf4d82f24: Pull complete Digest: sha256:4565fe2dd7f4770e825d4bd9c761a81b26e49cc9e3c9631c58cfc3188be9505a Status: Downloaded newer image for centos:latest
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos latest d123f4e55e12 2 weeks ago 197MB
2. CentOS イメージがダウンロードされたら、このイメージに基づいて "centos_test" という名前の Docker コンテナーを実行します。
# docker run -it --name="centos_test" centos:latest /bin/bash [root@e121d03b20dc /]#
3. コンテナ「test_dir」に新しいディレクトリを作成し、その中に「test_file」というファイルを作成します。また、test_file にランダムなテキストを追加します。
[root@e121d03b20dc /]# mkdir test_dir [root@e121d03b20dc /]# cd test_dir [root@e121d03b20dc test_dir]# echo "This is a sample text" > test_file [root@e121d03b20dc test_dir]# cat test_file This is a sample text [root@e121d03b20dc test_dir]# ls -lrt total 4 -rw-r--r--. 1 root root 22 Nov 19 16:12 test_file
4. 次のステップは、新しく作成された docker コンテナーを使用して docker commit コマンドで新しいイメージをビルドすることです。 「docker commit」コマンドは、docker コンテナー自体からではなく、docker ホストから実行されます。
# docker commit -m="This a test image" centos_test new_centos_image sha256:93603e53ff5329b314da097e3e5607b60cd1ce126f48cae542c083c715f069f7
ここで、
-m="これはテスト画像です" :コミット メッセージです。
centos_test :イメージを作成するコンテナの名前。
new_centos_image :作成された新しいイメージの名前。
5. 上記のコマンドを実行すると、システムでローカルに使用可能な Docker イメージのリストに新しいイメージ「centos_image」が表示されます。
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE new_centos_image latest 93603e53ff53 52 seconds ago 197MB centos latest d123f4e55e12 2 weeks ago 197MB
新しい Docker イメージのテスト
新しいコンテナーを実行して、新しく作成されたイメージをテストします。新しいコンテナーに作成されたテスト ディレクトリとテスト ファイルを一覧表示できるはずです。
1. 新しくビルドされたイメージから新しいコンテナーを作成します。
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE new_centos_image latest 93603e53ff53 11 minutes ago 197MB centos latest d123f4e55e12 2 weeks ago 197MB
# docker run -it --name="image_testing" new_centos_image:latest /bin/bash [root@24bd49cd0e0e /]#
2. 前の図で作成したテスト ディレクトリとテスト ファイルを確認します。
[root@24bd49cd0e0e /]# ls -lrt test_dir total 4 -rw-r--r--. 1 root root 22 Nov 19 17:09 test_file [root@24bd49cd0e0e /]# cd test_dir [root@24bd49cd0e0e test_dir]# cat test_file This is a sample text