状況
本番で動いているコンテナ web の中で、設定ファイル /etc/app/config.yml の中身を確かめたい。
使うべきコマンドは?
正答
- docker run -it web sh
- docker attach web
- docker start -i web
- docker exec -it web sh
解説
docker exec は実行中のコンテナの中で追加のコマンドを動かす。-it で端末をつなげば、シェルで設定ファイルを読める。docker run -it web sh は web という名前のイメージから新しいコンテナを起動しようとするもので、動いているコンテナの中には入らない。docker attach は本体のプロセスの標準入出力につなぐ操作で、そこで Ctrl+C を押すと本体のプロセスにシグナルが届き、本番のコンテナを止めかねない。docker start -i は停止しているコンテナを起動して入出力につなぐ操作で、動いているコンテナを調べる用途ではない。
参考: docs.docker.com
この問題を含む Docker のテストを制限時間つきで解く
Dockerクイズへ