疑難排解 Docker Desktop
本頁包含如何診斷及疑難排解 Docker Desktop,以及如何檢查日誌的資訊。
警告如果您在 Mac 上遇到惡意軟體偵測問題,請遵循以下文件中記載的步驟:docker/for-mac#7527。
疑難排解選單
若要導覽至 疑難排解,您可以
- 選取 Docker 選單 Docker 選單
,然後選取 疑難排解。
- 選取 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 欄位。然後,選取 提交請求單 以請求 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
從 Console 應用程式
Mac 提供了一個內建的日誌檢視器,名為 Console,您可以用它來檢查 Docker 日誌。
Console 位於 /Applications/Utilities。您可以使用 Spotlight 搜尋來尋找它。
若要閱讀 Docker 應用程式的日誌訊息,請在 Console 視窗搜尋列中輸入 docker 並按下 Enter 鍵。然後選取 ANY 以展開 docker 搜尋條目旁邊的下拉式清單,並選取 Process。

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