【Docker入門 】③ コンテナからイメージを作成する
Docker Hubで入手したイメージ(Docker image)を元に作成したDockerコンテナから、さらに新しいイメージを作成する方法をメモします。
必要なミドルウェアやソフト等をインストールして育てた状態のコンテナをイメージとして保存、作成しておく事でその時点からの同じ内容のコンテナをいつでも作成する事が出来るようになります。
(コンテナ削除後、もう一度同環境コンテナを作り直す際にインストールなどを一から行い直す必要が無くなります)
環境: Docker version 19.03.8、 Mac OS 10.13.6
(例)CentOSのDockerイメージから作成し、PHPとApacheをインストールしたDockerコンテナ 「mycentos7」からイメージを作成する
1. コンテナが起動していれば、停止しておく
(確認)
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a79ad643ebd5 centos:centos7 "/sbin/init" 5 months ago Up 10 minutes 0.0.0.0:80->80/tcp mycentos7
(停止)
$ docker stop mycentos7
2. コンテナから新しいイメージを作成する
コンテナ「mycentos7」から新しいイメージ「centos-php-apache」を作成。
$ docker commit mycentos7 centos-php-apache
docker commit 「元となるコンテナ名」「作成するイメージ名」
イメージの作成を確認する(イメージ一覧表示)
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE centos-php-apache latest 6bf9dfcbd28b 3 minutes ago 2.96GB
3. 作成したイメージ「centos-php-apache」から新しいコンテナを立ち上げる
(コンテナ名「php-apache-container」とする)
$ docker run -p 80:80 -d --privileged --name php-apache-container centos-php-apache /sbin/init
コンテナの作成、起動を確認する
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e66a5f31b341 centos-php-apache "/sbin/init" 17 seconds ago Up 15 seconds 0.0.0.0:80->80/tcp php-apache-container
コンテナへログイン
$ docker exec -it php-apache-container bash
ログイン済みのコンテナ内、下記のバージョン確認コマンドで
イメージの元にしたコンテナ「mycentos7」と同様、phpとApacheがそれぞれセットアップされている事が確認出来るはずです。
php -v
httpd -v
“【Docker入門 】③ コンテナからイメージを作成する” に対して1件のコメントがあります。
コメントは受け付けていません。