アウトプットの部屋

エンジニアになるためのアウトプット

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とは、標準出力の接続先デバイスのこと)