Docker Desktop 故障排除
本頁面包含有關如何診斷和排除 Docker Desktop 故障以及如何檢視日誌的資訊。
警告如果您在 Mac 上遇到惡意軟體檢測問題,請按照 docker/for-mac#7527 中記載的步驟操作。
故障排除選單
要導航到故障排除,您可以
- 選擇 Docker 選單 Docker 選單
,然後選擇故障排除。
- 選擇 Docker Dashboard 右上角附近的故障排除圖示。
故障排除選單包含以下選項
重啟 Docker Desktop.
重置 Kubernetes 叢集。選擇此項可刪除所有堆疊和 Kubernetes 資源。有關更多資訊,請參閱 Kubernetes。
清理/清除資料。此選項可在不重置為出廠預設設定的情況下重置所有 Docker 資料。選擇此選項將導致現有設定丟失。
重置為出廠預設設定:選擇此選項可將 Docker Desktop 上的所有選項重置為其初始狀態,與首次安裝 Docker Desktop 時相同。
如果您是 Mac 或 Linux 使用者,您還可以選擇從系統中解除安裝 Docker Desktop。
診斷
提示如果您在故障排除中找不到解決方案,請瀏覽 GitHub 儲存庫或建立新問題。
從應用程式診斷
- 從故障排除中選擇獲取支援。這將開啟應用程式內支援頁面並開始收集診斷資訊。
- 診斷資訊收集過程完成後,選擇上傳以獲取診斷 ID。
- 診斷資訊上傳後,Docker Desktop 會列印一個診斷 ID。複製此 ID。
- 使用您的診斷 ID 獲取幫助
- 如果您有付費的 Docker 訂閱,請選擇聯絡支援。這將開啟 Docker Desktop 支援表單。填寫所需資訊,並將您在第三步中複製的 ID 新增到診斷 ID 欄位中。然後,選擇提交工單以請求 Docker Desktop 支援。注意
您必須登入到 Docker Desktop 才能訪問支援表單。有關 Docker Desktop 支援涵蓋的內容的資訊,請參閱支援。
- 如果您沒有付費的 Docker 訂閱,請選擇報告 Bug以在 GitHub 上開啟一個新的 Docker Desktop 問題。填寫所需資訊,並確保新增您在第三步中複製的診斷 ID。
- 如果您有付費的 Docker 訂閱,請選擇聯絡支援。這將開啟 Docker Desktop 支援表單。填寫所需資訊,並將您在第三步中複製的 ID 新增到診斷 ID 欄位中。然後,選擇提交工單以請求 Docker Desktop 支援。
從錯誤訊息診斷
- 當出現錯誤訊息時,選擇收集診斷資訊。
- 診斷資訊上傳後,Docker Desktop 會列印一個診斷 ID。複製此 ID。
- 使用您的診斷 ID 獲取幫助
從終端診斷
在某些情況下,自己執行診斷工具很有用,例如,如果 Docker Desktop 無法啟動。
找到
com.docker.diagnose
工具$ C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe
建立並上傳診斷 ID。在 PowerShell 中,執行
$ & "C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe" gather -upload
診斷完成後,終端將顯示您的診斷 ID 和診斷檔案的路徑。診斷 ID 由您的使用者 ID 和時間戳組成。例如 BE9AFAAF-F68B-41D0-9D12-84760E6B8740/20190905152051
。
找到
com.docker.diagnose
工具$ /Applications/Docker.app/Contents/MacOS/com.docker.diagnose
建立並上傳診斷 ID。執行
$ /Applications/Docker.app/Contents/MacOS/com.docker.diagnose gather -upload
診斷完成後,終端將顯示您的診斷 ID 和診斷檔案的路徑。診斷 ID 由您的使用者 ID 和時間戳組成。例如 BE9AFAAF-F68B-41D0-9D12-84760E6B8740/20190905152051
。
找到
com.docker.diagnose
工具$ /opt/docker-desktop/bin/com.docker.diagnose
建立並上傳診斷 ID。執行
$ /opt/docker-desktop/bin/com.docker.diagnose gather -upload
診斷完成後,終端將顯示您的診斷 ID 和診斷檔案的路徑。診斷 ID 由您的使用者 ID 和時間戳組成。例如 BE9AFAAF-F68B-41D0-9D12-84760E6B8740/20190905152051
。
檢視診斷檔案內容
解壓檔案。在 PowerShell 中,將診斷檔案的路徑複製並貼上到以下命令中,然後執行它。它應該類似於以下示例
$ Expand-Archive -LiteralPath "C:\Users\testUser\AppData\Local\Temp\5DE9978A-3848-429E-8776-950FC869186F\20230607101602.zip" -DestinationPath "C:\Users\testuser\AppData\Local\Temp\5DE9978A-3848-429E-8776-950FC869186F\20230607101602"
在您喜歡的文字編輯器中開啟檔案。執行
$ code <path-to-file>
執行
$ open /tmp/<your-diagnostics-ID>.zip
執行
$ unzip –l /tmp/<your-diagnostics-ID>.zip
使用您的診斷 ID 獲取幫助
如果您有付費的 Docker 訂閱,請選擇聯絡支援。這將開啟 Docker Desktop 支援表單。填寫所需資訊,並將您在第三步中複製的 ID 新增到診斷 ID 欄位中。然後,選擇提交工單以請求 Docker Desktop 支援。
如果您沒有付費的 Docker 訂閱,請在 GitHub 上建立問題
自診斷工具
重要此工具已被棄用。
檢視日誌
除了使用診斷選項提交日誌外,您還可以自己瀏覽日誌。
在 PowerShell 中,執行
$ code $Env:LOCALAPPDATA\Docker\log
這將在您喜歡的文字編輯器中開啟所有日誌,供您探索。
從終端
要在命令列中即時檢視 Docker Desktop 日誌流,請從您喜歡的 shell 執行以下指令碼。
$ pred='process matches ".*(ocker|vpnkit).*" || (process in {"taskgated-helper", "launchservicesd", "kernel"} && eventMessage contains[c] "docker")'
$ /usr/bin/log stream --style syslog --level=debug --color=always --predicate "$pred"
或者,要將最後一天的日誌 (1d
) 收集到一個檔案中,請執行
$ /usr/bin/log show --debug --info --style syslog --last 1d --predicate "$pred" >/tmp/logs.txt
從控制檯應用程式
Mac 提供了一個名為 Console 的內建日誌檢視器,您可以使用它來檢查 Docker 日誌。
Console 位於 /Applications/Utilities
。您可以使用 Spotlight 搜尋來查詢它。
要讀取 Docker 應用程式日誌訊息,請在控制檯視窗搜尋欄中鍵入 docker
,然後按 Enter。然後選擇 ANY
以展開 docker
搜尋條目旁邊的下拉列表,並選擇 Process
。


您可以使用控制檯日誌查詢來搜尋日誌、以各種方式過濾結果並建立報告。
您可以透過執行以下命令訪問 Docker Desktop 日誌
$ journalctl --user --unit=docker-desktop
您還可以在 $HOME/.docker/desktop/log/
找到 Docker Desktop 中包含的內部元件的日誌。
檢視 Docker 守護程序日誌
請參閱閱讀守護程序日誌部分,瞭解如何檢視 Docker 守護程序日誌。