Dockerメモ①~attachとexec~
コンテナを起動する時は、
docker start [コンテナ名]
で行う。停止する時はstopコマンド。runやcompose-upをするとコンテナが増えてしまう。
コンテナをstartで起動すると、サーバーログが見えなくなる。そんな時には、
docker attach [コンテナ名]
でサーバーログが見れるようになる。ただしそのログから抜けると、コンテナも停止する。
attachとexecの違い
attachはコンテナ内でシェルが起動して無ければ接続できない。exitコマンドで抜けると、コンテナも停止する。
execはコンテナ内でシェルが起動してなくても接続できる(稼働コンテナでPID=1のプロセスを実行するため)。exitコマンドで抜けても、コンテナが停止しない。execの接続の仕方は、
docker exec -it コンテナ名 /bin/bash
iオプション・・・標準入力(STDIN)を開いたままにする
tオプション・・・擬似ttyに接続する。ディスプレイ(STDOUT)をつなぐイメージ
(標準入力・出力とは、コマンド/アプリ側で入力元・出力先を明示することなく使用できる入力) (ttyとは、標準出力の接続先デバイスのこと)