Docker exec/attachコマンド
目次
docker exec
docker exec はコンテナ内で新たなプロセスを実行します。
Shell
# docker run -d -it --name cont1 centos:7 # docker exec cont1 /bin/ls -l
/bin/bash などの対話コマンドを実行する際は -it オプションをつけます。
Shell
# docker exec -it cont1 /bin/bash
[root@3fb3d4ba646d /]# コンテナ内の /bin/bash のプロンプトとなる
[root@3fb3d4ba646d /]# ls -l
[root@3fb3d4ba646d /]# exit
#
-w (--workdir) オプションは、プロセスのワークディレクトリを指定します。
Shell
# docker exec -it -w /tmp cont1 /bin/bash
docker attach
docker attach は、コンテナプロセス(PID=1のプロセス)に、標準入出力をアタッチします。
Shell
# docker run -d -it --name cont1 centos:7
# docker attach cont1
[root@3fb3d4ba646d /]# コンテナの PID=1 のプロセスにアタッチする
アタッチしたプロセスからデタッチするには、デタッチキー (通常は Ctrl-P Ctrl-Q) を押します。
Shell
[root@3fb3d4ba646d /]# Ctrl-P Ctrl-Q #
アタッチした状態で Ctrl-D を押したり exit を実行すると、コンテナプロセス自体が終了し、コンテナが停止状態になります。
Shell
[root@3fb3d4ba646d /]# exit # docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3fb3d4ba646d centos:7 "/bin/bash" 18 minutes ago Exited (137) 5 seconds ago cont1
リンク
- http://docs.docker.jp/engine/reference/commandline/exec.html
- http://docs.docker.jp/engine/reference/commandline/attach.html
Copyright (C) 2019 杜甫々
初版:2019年9月1日 最終更新:2019年9月1日
https://www.tohoho-web.com/docker/docker_exec.html