概要
docker attach
コマンドを利用して現在稼働中のコンテナに接続してみたいと思います。
docker attach
たとえば以下のようにping localhost
を実行し続けているコマンドがあるとする。
$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 90cc08eedba3 centos "ping localhost" 4 minutes ago Up 2 seconds affectionate_ardinghelli
そこにdocker attach
をつかって接続してみる。
$ sudo docker attach 90cc08eedba3 4 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=255 time=0.029 ms 64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=255 time=0.036 ms 64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=255 time=0.034 ms 64 bytes from localhost (127.0.0.1): icmp_seq=4 ttl=255 time=0.036 ms
pingの出力が標準出力にでてきました。
コンテナの中に入ることができました。
docker exec
docker exec
コマンドでは現在稼働中のコンテナで新たにプロセスを実行することができます。
/bin/bash
をこのコマンドで新たに実行させてあげればコンテナのなかにシェルを立ち上げて入ることが可能です。
たとえば以下のようにping localhost
を実行し続けているコマンドがあるとする。
$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 90cc08eedba3 centos "ping localhost" 4 minutes ago Up 2 seconds affectionate_ardinghelli
docker attach
ではコンテナの中にはいってもpingの実行結果が出力されるだけだったが、今回はシェルの中に入ってみる。
$ sudo docker exec -it 90cc08eedba3 /bin/bash
コンテナの中に入ってps -a
でプロセスの状態をみるとping localhost
が実行されていることがわかります。
# ps -ef | grep ping root 1 0 0 14:12 ? 00:00:00 ping localhost root 19 5 0 14:12 pts/0 00:00:00 grep --color=auto ping
おわりに
コンテナの中にはいることができた。
- 作者: Adrian Mouat,Sky株式会社玉川竜司
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/08/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る