こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在5社経験している、14年目エンジニアです。
この記事では、dockerコマンドが以前は実行できたのに
突然実行できなくなった、またはレスポンスが極端に遅くなったときの原因とその解決策をお伝えします。
前提:実行環境
実行環境は以下の通りです。
OS | Windows11 |
---|---|
Dockerのバージョン | 28.1.1 |
dockerコマンドが実行できない原因
実行できない原因は、Docker desktopのResource Saverという機能です。
Resource Saverとは、一定時間コンテナが実行されていない場合にDocker Desktop Linux VMを自動的に停止します。
結果、ホスト上のDocker DesktopのCPUとメモリの使用量を大幅に削減してくれる機能です。
デフォルトの時間は5分に設定されています。
Dockerが使われていないならばリソースを減らしてくれる、という便利な機能です。
ちょっと5分使わなかったことが原因でResource Saverが働き、結果Dockerコマンドが使えなくなってしまう、というわけです。
Resource Saverが働いているかどうかは、Docker desktopの左下で確認できます。
下の画像のように【Engine runnning】が表示されていれば、Docker Desktop Linux VMは稼働しています。
下の画像のように【Resource Saver mode】が表示されていれば、Docker Desktop Linux VMは停止しています。
つまり、Resource Saverが働いています。
dockerコマンドを実行するようにする解決策
解決策として、まず対処療法であるDocker Desktop Linux VMを再稼働させるやり方を紹介します。
Docker desktopの左下の【Resource Saver mode】の右に再稼働できる【Resume】があるので選択します。
選択すると、Docker Desktop Linux VMは再稼働され、【Engine runnning】が表示されます。
次に、そもそもの原因となっているResource Saverをオフにするやり方を紹介します。
Docker desktopの歯車アイコンを選択します。
左に表示されるメニューのリストから
- Resouces
- Advanced
を選択します。
【Resource Saver】のチェックを外して、【Apply & restart】を押します。
これでResource Saverをオフにできました。
まとめ:コマンドが実行できないときはResource Saverを確認しよう!
以上がDockerでコマンドが実行できない原因と解決策でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント