完全に自分用メモ。
起動が出来ない原因をログを見て突き止めたいので、起動が失敗したコンテナに入るための手順。
参考:Dockerイメージのビルド中にExitedしたコンテナに入る方法
まずは起動できないコンテナを確認する。
$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c869cffde8c2 docker-compose_mysql "docker-entrypoint.s…" About a minute ago Exited (1) About a minute ago mysql
今回、docker-compose up -dを行ったものの起動が出来ていない状態。
対象は、ステータスが Exited (1) About a minute ago となっているコンテナID:c869cffde8c2。
当然、この状態ではコンテナに入ることは出来ない。
まずは、起動が出来なかったコンテナを一旦イメージ化する。
$ docker commit c869cffde8c2 mysql-ex sha256:45fe024bee2bd017e4a2d93c1f9e929f8c6e2bc40b6e66ae1255965b27bb6935
上記コマンドで、コンテナID:c869cffde8c2 を、 mysql-ex という名前のイメージにしている。
イメージの一覧を確認。
$ docker image list REPOSITORY TAG IMAGE ID CREATED SIZE mysql-ex latest 45fe024bee2b 4 seconds ago 372MB
mysql-ex というイメージが作られている。
イメージを実行し入る。
$ docker run --rm -it mysql-ex bash root@555ad68f9d75:/#
これでひとまず入ることが出来た。
入れたので、この後はイメージ内のログを見て起動が出来なかった原因を突き止めることとなる。