こんにちはツヨシです。
9月になり少し涼しくなりました。エアコンもつけたり消したりと過ごしやすくなりました。 前回はDocker上でUbuntuを実行するということを行いました。
今回は作成したコンテナから新しいイメージを作成します。作成したイメージを共有することでDockerを使い同じ環境を持つことができます。イメージを作成するためには"commit"コマンドを使用します。
これをふまえて、Dockerのイメージを作成する手順を説明します。
コンテナからDocker imageを作成する
今回はコンテナからDockerイメージを作成します。イメージを作成する手順として今回は次のように行います。
- 今あるコンテナを確認します。
- コンテナがUpでない場合はこれをUp状態にします。
- コンテナを起動します。
- コンテナの中に入り適当なファイル(ここではtestを作成します)
- コンテナから抜けます。
- コンテナがUpになっていることを確認します。
- コンテナからイメージを作ります
- 作成したイメージを確認する。
イメージにするコンテナの準備
上記の1-6の手順でコンテナ内に適当なファイルを作成します。ここまでは、以下のような今まで使用したコマンドを使っていきます。
$ docker ps -a $ docker restart <container ID> $ docker exec -it <container ID> bash ubuntu$ touch test ubuntu$ exit $ docker ps -a
これで、新しいコンテナが作成されました。実行後に次のような状態となっています。
作成されたコンテナIDは"20adc3c5c9e6"になります。これを使って新しいイメージを作成します。
コンテナから新しいイメージを作成
7の”コンテナからイメージを作ります”はcommitコマンドを使います。コマンドとしては次のようなコマンドになります。
$ docker commit <container ID> <image name>:<tag>
今回は
$ docker commit 20adc3c5c9e6 ubuntu:new
実行後に次のようなメッセージが出した。
この後、8ではimagesコマンドを使い作成されたイメージの確認を行います。
$ docker images
イメージ確認のためのコマンドを実行すると、イメージIDが"fedde61e8efa"の新しいイメージが作成されたことがわかります。
まとめ
今回は"commit"コマンドを使い新しいイメージを作成しました。これにより自分でdockerイメージを作成することができるようになります。
この後、作成したイメージを共有することで他のユーザとの環境の共有ができるようになります。共有方法についてはDocker hubを使っていきます。使い方については次回説明したいと思います。