現在起動しているコンテナや、停止中を含むコンテナ一覧を表示するにはpsコマンドを使います。 起動させたコンテナに接続する場合は、execコマンドか、attachコマンドで行います。
psコマンド
psコマンドをオプション無しで実行すると、現在起動中のコンテナ一覧を表示できます。
docker ps実行すると、以下のようになります。
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3d7f578eab0c my:php "/bin/sh -c 'service " 3 months ago Up 13 minutes 3306/tcp, 8082/tcp, 0.0.0.0:8082->80/tcp phptest
-
停止中のコンテナも含めた一覧表示
起動中だけでなく、現在停止中も含めた全コンテナの一覧表示したい場合は、"-a"または"--all"オプションを指定します。
docker ps -a実行すると、以下のようになります。
$ docker ps --all CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d1a51398154e my:http-db "/bin/bash" 5 days ago Exited (137) 4 days ago pytest 3af49ded16b6 my:http-db "/bin/bash" 5 days ago Created 3306/tcp, 0.0.0.0:8082->80/tcp sharp_bartik 3d7f578eab0c my:php "/bin/sh -c 'service " 3 months ago Up 7 minutes 3306/tcp, 8082/tcp, 0.0.0.0:8082->80/tcp phptest 66d2884553e3 961dbdb819ac238f1c32ed82064ba8b393865e80bab434cc0d10ac9844be335c "/bin/sh -c '/bin/bas" 3 months ago Exited (2) 3 months ago clever_fermi e24968a03f00 my:mysql "/bin/bash" 3 months ago Exited (137) 8 weeks ago mysql ee4d1b8e96e1 my:php "/bin/sh -c 'service " 3 months ago Exited (137) 3 weeks ago itn e00b9a6e0e7e my:rails "/bin/bash" 3 months ago Exited (137) 3 months ago rails
直近に起動したコンテナ一覧表示
現在実行中のコンテナを含まない、直近に起動したコンテナ一覧表示したい場合は、"-l"または、"--latest"オプションを指定します。
docker ps -l実行すると、以下のようになります。
$ docker ps --latest CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d1a51398154e my:http-db "/bin/bash" 5 days ago Exited (137) 4 days ago pytest
execコマンド
execコマンドの場合、以下のようになります。
docker exec [オプション] <コンテナ名> <コマンド> [コマンド引数]コンテナの指定は、runコマンドのときに--nameで指定した名前か、コンテナIDになります。 コマンドは、接続するなら/bin/bashなどのシェルを指定します。 接続せずにコンテナ内でコマンド実行を行う場合はそのコマンドを指定します。
# docker exec -it dbserver /bin/bash [root@dbserver /]#コンテナから抜ける場合は、exit(シェルのコマンド)を実行します。
-
ユーザー指定
execコマンドで接続した場合、ユーザーはrootになります。 root以外で接続したい場合は、-uオプションで指定することが可能です。
例 vagrantユーザーで接続したい場合
# docker exec -u vagrant -it dbserser /bin/bash
attachコマンド
attachコマンドの場合は、以下のようになります。 ただしattachコマンドでコンテナに接続後、exitコマンドで接続から抜けると、コンテナが停止してしまいます。 コンテナを稼動させたままにしたい場合は、Ctrl + P、Ctrl + Q でコンテナから抜ける必要があり、通常はexecコマンドを使用する方が良いでしょう。
# docker attach dbserver [root@dbserver /]#