Docker操作の基本
バージョン・基本情報
Dockerのバージョンを確認をしてみます。
$ sudo docker version
Client version: 1.2.0
Client API version: 1.14
Go version (❨client)❩: go1.2
Git commit (❨client)❩: fa7b24f/1.2.0
OS/Arch (❨client)❩: linux/amd64
Server version: 1.2.0
Server API version: 1.14
Go version (❨server)❩: go1.2
Git commit (❨server)❩: fa7b24f/1.2.0
次にDockerの情報を取得してみます。
$ sudo docker info
Containers: 0
Images: 0
Storage Driver: devicemapper
Pool Name: docker-202:1-263417-pool
Pool Blocksize: 64 Kb
Data file: /var/lib/docker/devicemapper/devicemapper/data
Metadata file: /var/lib/docker/devicemapper/devicemapper/metadata
Data Space Used: 293.0 Mb
Data Space Total: 102400.0 Mb
Metadata Space Used: 0.7 Mb
Metadata Space Total: 2048.0 Mb
Execution Driver: native-0.2
Kernel Version: 3.14.19-17.43.amzn1.x86_64
Operating System: Amazon Linux AMI 2014.09
コンテナ数やイメージ数を確認できます。
Docker操作の基本
コンテナの実行(バックグラウンド)
Dockerイメージをバックグランドで実行することも可能です。
この場合はdocker runコマンドに-dをオプションします。
$ sudo docker run -d ubuntu:14.10 /bin/sh -c "while true; do echo hellow world; sleep 10; done"
2cf73073f8c9dba2597c61216b93275e6493622db4d81aa8b7f0cedc4e7a5ef8
起動したコンテナのコンテナIDが出力されます。
起動したコンテナはdocker psコマンドで確認できます。
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2cf73073f8c9 ubuntu:14.10 "/bin/sh -c 'while t About a minute ago Up About a minute determined_almeida
バックグラウンドで実行されているコンテナの標準出力はdocker logsコマンドで
確認できます。
$ sudo docker logs 2cf73073f8c9
hellow world
hellow world
:
12.
Docker操作の基本
コンテナの停止
hellowworldを叫び続けるのはもうやめにしましょう。
コンテナを停止するにはdocker stopコマンドを使用します。
$ sudo docker stop 2cf73073f8c9
2cf73073f8c9
停止するとコンテナIDが出力されます。
docker psで確認してみましょう。
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
コンテナは停止すると消えて無くなるわけではありません。
docker psコマンドに-aをオプションすることで停止しているコンテナも含めて確
認できます。
$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2cf73073f8c9 ubuntu:14.10 "/bin/sh -c 'while t 14 minutes ago Up 4 minutes determined_almeida
40ed7d2502fe ubuntu:14.10 "/bin/bash" 31 minutes ago Exited (❨0)❩ 18 minutes ago backstabbing_shockley
13.
Docker操作の基本
コンテナの再実行
残っているコンテナは再実行する事ができます。
docker startかdocker restarコマンドを使用します。
$ sudo docker restart 2cf73073f8c9
2cf73073f8c9
docker psで確認してみましょう。
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2cf73073f8c9 ubuntu:14.10 "/bin/sh -c 'while t 10 minutes ago Up 7 seconds determined_almeida
起動しました。
バックグランドで実行中のコンテナにアタッチすることも可能です。
docker attachコマンドを使用します。
$ sudo docker attach 2cf73073f8c9
hellow world
hellow world
:
Ctrl+Cで処理が終了しコンテナも停止します。
14.
Docker操作の基本
コンテナの強制終了
dockerstopコマンドではタイムアウトするまでコンテナの終了をまちます。
即座にコンテナを終了させたい場合はdocker killコマンドを使用します。
$ sudo docker kill 2cf73073f8c9
2cf73073f8c9
docker psで確認してみましょう。
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
即座に終了しましたね。
Docker操作の基本
コンテナのコミット
コンテナは実行(dockerrun)毎に作成されるため、現在実行中の状態は引き継がれ
ません。状態を引き継ぐためにはdocker commitコマンドでコンテナの状態をイ
メージに反映させます。
$ sudo docker commit 40ed7d2502fe ubuntu:test
df6c863ac74630234fb19223974202b0bb7b2e9dbaa7a692cbdc92a2a47099dc
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu test df6c863ac746 13 seconds ago 260.8 MB
ubuntu utopic 2db9ad9043ca 4 days ago 260.8 MB
ubuntu 14.10 2db9ad9043ca 4 days ago 260.8 MB
ubuntu 14.04 6b4e8a7373fe 4 days ago 194.8 MB
ubuntu 14.04.1 6b4e8a7373fe 4 days ago 194.8 MB
ubuntu latest 6b4e8a7373fe 4 days ago 194.8 MB
:
これでDockerfileの生成ができるといいのに。。。
18.
Docker操作の基本
コンテナの削除・イメージの削除
Dockerは実行毎にコンテナを作成しますが、コンテナを停止してもコンテナは消え
ません。削除するためにdocker rmコマンドを使用します。
$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2cf73073f8c9 ubuntu:14.10 "/bin/sh -c 'while t 3 hours ago Exited (❨-1)❩ 57 minutes ago
determined_almeida
40ed7d2502fe ubuntu:14.10 "/bin/bash" 3 hours ago Up 36 minutes backstabbing_shockley
$ sudo docker rm 2cf73073f8c9
2cf73073f8c9
$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
40ed7d2502fe ubuntu:14.10 "/bin/bash" 3 hours ago Up 37 minutes backstabbing_shockley
これでコンテナが削除されました。
19.
Docker操作の基本
コンテナの削除・イメージの削除
コンテナの削除と同様にDockerイメージを削除するためはdockerrmiコマンドを
使用します。
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu test df6c863ac746 13 seconds ago 260.8 MB
ubuntu utopic 2db9ad9043ca 4 days ago 260.8 MB
ubuntu 14.10 2db9ad9043ca 4 days ago 260.8 MB
ubuntu 14.04 6b4e8a7373fe 4 days ago 194.8 MB
ubuntu 14.04.1 6b4e8a7373fe 4 days ago 194.8 MB
ubuntu latest 6b4e8a7373fe 4 days ago 194.8 MB
:
$ sudo docker rmi df6c863ac746
Untagged: ubuntu:test
Deleted: df6c863ac74630234fb19223974202b0bb7b2e9dbaa7a692cbdc92a2a47099dc
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu utopic 2db9ad9043ca 4 days ago 260.8 MB
ubuntu 14.10 2db9ad9043ca 4 days ago 260.8 MB
ubuntu 14.04 6b4e8a7373fe 4 days ago 194.8 MB
ubuntu 14.04.1 6b4e8a7373fe 4 days ago 194.8 MB
ubuntu latest 6b4e8a7373fe 4 days ago 194.8 MB
: