針對使用 Docker 的 Visual Studio 開發進行疑難解答

適用於: Visualstudio

當您使用 Visual Studio 容器工具時,可能會在建置或偵錯應用程式時遇到問題。 本文介紹一些常見問題的疑難解答步驟。

未啟用磁碟區共用。 僅在適用於 Windows 的 Docker CE 設定 (Linux 容器中啟用磁碟區共用)

只有當您搭配 Docker 使用 Hyper-V 時,才需要管理檔案共用。 如果您使用 WSL 2,則不需要下列步驟,且不會顯示檔案共享選項。 若要解決此問題:

  1. 以滑鼠右鍵按下通知區域中的 [適用於 Windows 的 Docker ],然後選取 [ 設定]

  2. 選取 [資源>檔案分享 ],並共用需要存取的資料夾。 您可以共用整個系統磁碟驅動器,但不建議使用。

    共用磁碟驅動器的螢幕快照。

提示

未設定 共用磁碟驅動器 時,Visual Studio 會提示您。

無法開始偵錯

此問題的其中一個原因可能與使用者配置檔資料夾中有過時的偵錯元件有關。 執行下列命令以移除這些資料夾,以便在下一個偵錯會話上下載最新的偵錯元件。

  • del %userprofile%\vsdbg
  • del %userprofile%\onecoremsvsmon

偵錯應用程式時,網路專用的錯誤

請嘗試執行可從 清除容器主機網路下載的腳本,這會重新整理主計算機上的網路相關元件。

拒絕掛接

使用適用於 macOS 的 Docker 時,參照 /usr/local/share/dotnet/sdk/NuGetFallbackFolder 文件夾時可能會發生錯誤。 將資料夾新增至 Docker 中的 [檔案分享] 索 引標籤。

Docker 使用者群組

使用容器時,您可能會在 Visual Studio 中遇到下列錯誤:

目前的用戶必須位於 『docker-users』 群組中,才能使用 Docker Desktop。 將您自己新增至 'docker-users' 群組,然後註銷 Windows。

您必須是 'docker-users' 群組的成員,才能擁有使用 Docker 容器的許可權。 若要在 Windows 10 或更新版本中將自己新增至群組,請遵循下列步驟:

  1. 從 [開始] 功能表中,開啟 [計算機管理]
  2. 展開 [ 本機使用者和群組],然後選取 [群組]
  3. 尋找 docker-users 群組,按鼠右鍵,然後選取 [ 新增至群組]
  4. 新增您的用戶帳戶或帳戶。
  5. 註銷並重新登入,這些變更才會生效。

您也可以在系統管理員命令提示字元中使用 net localgroup 命令,將使用者新增至特定群組。

net localgroup docker-users DOMAIN\username /add

在 PowerShell 中,使用 Add-LocalGroupMember 函式。

磁碟空間不足

根據預設,Docker 會將映像儲存在 %ProgramData%/Docker/ 檔案 夾中,此資料夾通常位於系統磁碟驅動器 C:\ProgramData\Docker\。 若要防止影像佔用系統磁碟驅動器上的寶貴空間,您可以變更映射資料夾位置。 若要這麼做︰

  1. 以滑鼠右鍵按兩下任務列上的 Docker 圖示,然後選取 [ 設定]

  2. 選取 [Docker 引擎]

  3. 在編輯窗格中,新增 graph 屬性設定,其中包含 Docker 映像所需位置的值:

       "graph": "D:\\mypath\\images"
    

    Docker 檔案共享的螢幕快照。

  4. 取 [套用 & 重新啟動]。 這些步驟會修改 位於 %ProgramData%\docker\config\daemon.json 的組態檔。 不會移動先前建置的映像。

容器類型不相符

將 Docker 支援新增至專案時,您可以選擇 Windows 或 Linux 容器。 如果 Docker Server 主機未設定為執行與項目目標相同的容器類型,您會看到類似下列的錯誤:

Docker 主機和專案不符的螢幕快照。

若要解決此問題,請以滑鼠右鍵按兩下系統匣中的 Docker for Windows 圖示,然後選取 [切換至 Windows 容器... ] 或 [切換至 Linux 容器...]

其他問題

如需您遇到的任何其他問題,請參閱 Microsoft/DockerTools 問題。

參考資料