【Docker】今まで普通に動いていたコンテナが突然起動しなくなった時

昨日まで普通に動いていたDockerコンテナが突然起動しなくなった時など、焦ってとりあえずイメージ削除&再起動とかしてしまうけど(私だけ?)、その前に立ち上がらない原因をちゃんと突き止めよう、というお話。ついつい焦りが生じてしまって忘れがちなのでメモ。

$ docker logs コンテナID

これでコンテナ内部で何が起きているのか確認できます。
確認できたらそこに表示されているエラーメッセージをコピペで更にググるなり、調べなくても解決法が分かるようだったら自力で対処しましょう。

あわせて読んでおくといいかも◎

dockerでコンテナが立ち上がらないときやってみること - Qiita

余談

個人的に比較的よく起こるのがこれ。

$ docker logs コンテナID
=> Booting Puma
=> Rails 5.2.1 application starting in development
=> Run `rails server -h` for more startup options
A server is already running. Check /app/tmp/pids/server.pid.
Exiting

Dockerさん:「あなたが立ち上げようとしてるコンテナは既に立ち上がってるよー。既に立ち上がってるのに追い討ちかけて立ち上げようとされましてもー。」
って感じ。多分。言われている通り/app/tmp/pidsフォルダ内を確認しましょう。server.pidが残っていると、起動していないコンテナでもDockerさんが既に起動していると思い込んでしまうようです。docker-compose downが正常にできなかった時とかに残ってしまうみたいですがよく分かりません...。とりあえず手動でserver.pidを削除してから再度起動すると直ってます。(コンテナ起動するとまた自動で生成されるので恐れず手動削除してしまってOK)