dockerの動作がおかしくなっていたのでTroubleshoot機能で直した
|
最近仕事用のPCで下記の事象が発生するようになり、困っていました。
- 頻繁にコンテナが固まる
docker compose down
でコンテナが落ちない(24sでtimeoutする)- コンテナに対してVS Codeのリモートデバッグを実行した時にハングアップする
コンテナがおかしくなる度に killall Docker
コマンドでプロセスを停止していたのですが流石に辛い。問題解決のため設定を確認していたところ、Troubleshootという機能を見つけたので試しました。
DockerのTroubleshoot機能
docker desktopにTroubleshootという機能があり、docker desktopの完全アンインストールやkubernetes clusterのリセットなどができます。
今回は下記を試しました。
Clean / Purge data
…ディスクの破損、dockerエンジンが起動しないなどの問題が解決される。imageやcontainer, networkなどは全て吹き飛ばす。docker desktopの設定は保持される。Reset to factory defaults
…工場出荷時に戻す。imageやcontainer, netoworkは全て吹き飛び、docker desktopの設定も消える。
後者の Reset to factory default
で解決しました。
まとめ
Dockerfileとdocker-comose.ymlの書き方に原因があると思っていたのですが、docker desktop側の問題だったのは盲点でした。
docker desktopをアップデートしたタイミングなどでおかしくなるっぽい気がしているので、その時に Reset to factory default
をとりあえずやっておくと良さそう。