目次
状況・原因
Docker Desktop を終了してもタスクが残ってしまう。終了と同時にタスクが消えるようにするには、どうすれば良いですか?
ログの確認
- 問題の原因を特定するため、ログを確認します:
- ウィンドウズ
C:\Users\<ユーザー名>\AppData\Roaming\Docker\log
- macOS
~/Library/Group Containers/group.com.docker/log
- ウィンドウズ
対処
Docker Desktopを終了してもタスクが残ってしまう場合、以下の方法を試すことで、終了と同時にタスクが完全に消えるように設定することができます。
1. 自動終了設定を確認
Docker Desktopには、バックグラウンドで動作する設定が含まれている場合があります。この設定を無効にすることで、アプリ終了時にプロセスが完全に停止します。
手順:
- Docker Desktopを起動。
- 設定 (Settings) を開く。
- General タブで「Start Docker Desktop when you log in」または「Run Docker Desktop in the background」を探します。
- これらのチェックを外します。
- 設定を保存して再起動します。
2. タスク終了スクリプトを作成
プロセスが終了しない場合、手動またはスクリプトでバックグラウンドプロセスを停止する方法があります。
Windowsでのスクリプト例:
以下のスクリプトを作成して実行することで、残ったプロセスを強制終了できます。
- メモ帳で以下をコピーして貼り付け:1つコードをコピーする
taskkill /IM "Docker Desktop.exe" /F taskkill /IM "com.docker.backend.exe" /F taskkill /IM "com.docker.build.exe" /F taskkill /IM "com.docker.dev-envs.exe" /F
- ファイル名を
kill_docker.bat
として保存します。 - 必要に応じて、このスクリプトを実行します。
3. タスクスケジューラの利用
Windowsのタスクスケジューラを使って、Docker Desktop終了時に上記のスクリプトを自動的に実行することもできます。
手順:
- タスクスケジューラを開く。
- 「新しいタスクの作成」を選択。
- トリガーで「Docker Desktop終了時」を指定。
- 操作で先ほど作成したスクリプトを指定。