排查 Docker Desktop 問題
此頁面包含有關如何診斷和排查 Docker Desktop 問題以及如何檢查日誌的資訊。
故障排除選單
要導航到 **故障排除**,請執行以下操作:
- 選擇 Docker 選單
,然後選擇 **故障排除**
- 選擇 Docker 儀表板右上角附近的 **故障排除** 圖示


**故障排除** 頁面包含以下選項
重新啟動 Docker Desktop.
**獲取支援**。擁有付費 Docker 訂閱的使用者可以使用此選項傳送支援請求。其他使用者可以使用此選項診斷 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 訂閱,請選擇 **報告錯誤** 以在 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 欄位。請確保您提供了完整的診斷 ID,而不僅僅是使用者 ID。選擇 **提交** 以請求 Docker Desktop 支援。
如果您沒有付費 Docker 訂閱,請在 GitHub 上建立一個問題
自診斷工具
Docker Desktop 包含一個自診斷工具,可以幫助您識別一些常見問題。
找到
com.docker.diagnose
工具。$ C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe
在 PowerShell 中,執行自診斷工具
$ & "C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe" check
找到
com.docker.diagnose
工具。$ /Applications/Docker.app/Contents/MacOS/com.docker.diagnose
執行自診斷工具
$ /Applications/Docker.app/Contents/MacOS/com.docker.diagnose check
找到
com.docker.diagnose
工具。執行自診斷工具
$ /opt/docker-desktop/bin/com.docker.diagnose check
該工具會執行一系列檢查,並在每個檢查旁邊顯示 **透過** 或 **失敗**。如果出現任何失敗,它將在報告的末尾突出顯示最相關的失敗。
然後,您可以在 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 提供了一個內建的日誌檢視器,名為 **控制檯**,可用於檢視 Docker 日誌。
控制檯位於 /Applications/Utilities
中。您可以使用 Spotlight 搜尋來查詢它。
要讀取 Docker 應用程式日誌訊息,請在控制檯視窗搜尋欄中輸入 docker
並按 Enter 鍵。然後選擇 ANY
以展開 docker
搜尋條目旁邊的下拉列表,然後選擇 Process
。


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