Docker Desktop 疑難排解

此頁面包含有關如何診斷和疑難排解 Docker Desktop,以及如何檢查記錄的資訊。

疑難排解選單

若要瀏覽至疑難排解,請執行下列其中一項操作

  • 選擇 Docker 選單 Docker 選單 鯨魚選單,然後選擇疑難排解
  • 選擇 Docker 儀表板右上角附近的疑難排解圖示。

疑難排解選單包含下列選項

  • 重新啟動 Docker Desktop.

  • 重設 Kubernetes 叢集。選擇以刪除所有堆疊和 Kubernetes 資源。如需詳細資訊,請參閱Kubernetes

  • 清除/清除資料。此選項會重設所有 Docker 資料,但不會重設為原廠預設值。選擇此選項將會遺失現有設定。

  • 重設為原廠預設值:選擇此選項可將 Docker Desktop 上的所有選項重設為初始狀態,與第一次安裝 Docker Desktop 時相同。

如果您是 Mac 或 Linux 使用者,您也可以選擇從您的系統中解除安裝 Docker Desktop。

秘訣

如果您需要聯絡支援部門,請選擇 Docker 儀表板右上角附近的問號圖示,然後選擇聯絡支援部門。擁有付費 Docker 訂閱的使用者可以使用此選項來傳送支援請求。

診斷

秘訣

如果您在疑難排解中找不到解決方案,請瀏覽 GitHub 儲存庫或建立新的問題

從應用程式診斷

  1. 疑難排解中,選擇取得支援。這會開啟應用程式內建的支援頁面,並開始收集診斷資訊。
  2. 當診斷資訊收集完成後,選擇上傳以取得診斷 ID
  3. 診斷資訊上傳後,Docker Desktop 會顯示診斷 ID。複製此 ID。
  4. 使用您的診斷 ID 來取得協助
    • 如果您有付費 Docker 訂閱,請選擇聯絡支援。這會開啟 Docker Desktop 支援表單。填寫所需資訊,並將您在步驟三複製的 ID 新增到診斷 ID 欄位。然後,選擇提交請求單以請求 Docker Desktop 支援。

      注意事項

      您必須登入 Docker Desktop 才能存取支援表單。有關 Docker Desktop 支援範圍的資訊,請參閱支援

    • 如果您沒有付費 Docker 訂閱,請選擇回報錯誤以在 GitHub 上開啟新的 Docker Desktop 問題。填寫所需資訊,並確保您已新增在步驟三複製的診斷 ID。

從錯誤訊息診斷

  1. 當出現錯誤訊息時,選擇收集診斷資訊
  2. 診斷資訊上傳後,Docker Desktop 會顯示診斷 ID。複製此 ID。
  3. 使用您的診斷 ID 來取得協助
    • 如果您有付費 Docker 訂閱,請選擇聯絡支援。這會開啟 Docker Desktop 支援表單。填寫所需資訊,並將您在步驟三複製的 ID 新增到診斷 ID 欄位。然後,選擇提交請求單以請求 Docker Desktop 支援。

      注意事項

      您必須登入 Docker Desktop 才能存取支援表單。有關 Docker Desktop 支援範圍的資訊,請參閱支援

    • 如果您沒有付費 Docker 訂閱,您可以針對 MacWindowsLinux 在 GitHub 上開啟新的 Docker Desktop 問題。填寫所需資訊,並確保您已新增在步驟二顯示的診斷 ID。

從終端機診斷

在某些情況下,例如 Docker Desktop 無法啟動時,自行執行診斷會很有用。


  1. 找到 com.docker.diagnose 工具

    $ C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe
    
  2. 建立並上傳診斷 ID。在 PowerShell 中,執行

    $ & "C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe" gather -upload
    

診斷完成後,終端機會顯示您的診斷 ID 和診斷檔案的路徑。診斷 ID 由您的使用者 ID 和時間戳記組成。例如 BE9AFAAF-F68B-41D0-9D12-84760E6B8740/20190905152051

  1. 找到 com.docker.diagnose 工具

    $ /Applications/Docker.app/Contents/MacOS/com.docker.diagnose
    
  2. 建立並上傳診斷 ID。執行

    $ /Applications/Docker.app/Contents/MacOS/com.docker.diagnose gather -upload
    

診斷完成後,終端機會顯示您的診斷 ID 和診斷檔案的路徑。診斷 ID 由您的使用者 ID 和時間戳記組成。例如 BE9AFAAF-F68B-41D0-9D12-84760E6B8740/20190905152051

  1. 找到 com.docker.diagnose 工具

    $ /opt/docker-desktop/bin/com.docker.diagnose
    
  2. 建立並上傳診斷 ID。執行

    $ /opt/docker-desktop/bin/com.docker.diagnose gather -upload
    

診斷完成後,終端機會顯示您的診斷 ID 和診斷檔案的路徑。診斷 ID 由您的使用者 ID 和時間戳記組成。例如 BE9AFAAF-F68B-41D0-9D12-84760E6B8740/20190905152051


若要檢視診斷檔案的內容


  1. 解壓縮檔案。在 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"
  2. 在您慣用的文字編輯器中開啟檔案。執行

    $ 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 上建立問題

自我診斷工具

Docker Desktop 包含一個自我診斷工具,可以協助您找出一些常見問題。


  1. 找到 com.docker.diagnose 工具。

    $ C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe
    
  2. 在 PowerShell 中,執行自我診斷工具

    $ & "C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe" check
    
  1. 找到 com.docker.diagnose 工具。

    $ /Applications/Docker.app/Contents/MacOS/com.docker.diagnose
    
  2. 執行自我診斷工具

    $ /Applications/Docker.app/Contents/MacOS/com.docker.diagnose check
    
  1. 找到 com.docker.diagnose 工具。

  2. 執行自我診斷工具

    $ /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 鍵。然後選擇`任何`以展開 `docker` 搜尋項目旁邊的下拉式清單,並選擇`處理程序`。

Mac Console search for Docker app

您可以使用主控台日誌查詢來搜尋日誌、以各種方式篩選結果,以及建立報告。

您可以透過執行以下命令來存取 Docker Desktop 日誌

$ journalctl --user --unit=docker-desktop

您也可以在 $HOME/.docker/desktop/log/ 中找到 Docker Desktop 內建組件的日誌。


檢視 Docker daemon 記錄

請參閱閱讀守護程式日誌章節,以瞭解如何檢視 Docker 守護程式日誌。

更多資源