對使用 Docker 的 Visual Studio 開發進行疑難排解
本文內容
磁碟區共用未啟用。 在適用於 Windows 的 Docker CE 設定中啟用磁碟區共用 (僅限 Linux 容器)
Windows 容器上路徑的問題
無法開始偵錯
偵錯應用程式時網路特有的錯誤
拒絕掛接
Docker 使用者群組
磁碟空間不足
容器類型不符
其他問題
參考資料
顯示其他 6 個
適用於: Visual Studio
當您使用 Visual Studio Container Tools 時,在建置或偵錯應用程式時可能會遇到問題。 本文介紹問題的一些常見疑難解答步驟。
磁碟區共用未啟用。 在適用於 Windows 的 Docker CE 設定中啟用磁碟區共用 (僅限 Linux 容器)
如果您使用 Hyper-V 搭配 Docker,則只需要管理檔案共用。 如果您使用 WSL 2,則不需要下列步驟,而且不會顯示檔案共享選項。 若要解決此問題:
以滑鼠右鍵按下 通知區域中的 [Docker for Windows ],然後選取 [ 設定 ]。
選取 [資源 >檔案分享 ],並共用需要存取的資料夾。 您可以共用整個系統磁碟驅動器,但不建議這麼做。
提示
未設定共用磁碟驅動器時 ,Visual Studio 會提示您。
當您在 Windows 容器上使用 Linux 特有的檔案路徑時,可能會遇到各種檔案輸入或輸出 (I/O) 錯誤。 如果是,請檢查環境變數 VSCT_WslDaemon
的值。 如果已設定變數,Visual Studio 會嘗試使用 Windows 子系統 Linux 版 (WSL) 路徑來參考用來建立磁碟區的 Windows 檔案。 這適用於 WSL 中的 Docker,但不適用於 Windows 上的 Docker Desktop。 如果您使用 Windows 容器,此環境變數應該一律為未設定。
此問題的其中一個原因可能與使用者配置檔資料夾中的偵錯元件過時有關。 執行下列命令以移除這些資料夾,以便在下一個偵錯會話上下載最新的偵錯元件。
del %userprofile%\vsdbg
del %userprofile%\onecoremsvsmon
請嘗試從清除容器主機網路執行可下載的腳本,這會重新 整理主計算機上的網路相關元件。
使用適用於 macOS 的 Docker 時,您可能會遇到參考資料夾 /usr/local/share/dotnet/sdk/NuGetFallbackFolder 的錯誤。 將資料夾新增至 Docker 中的 [檔案分享 ] 索引標籤。
使用容器時,您可能會在 Visual Studio 中遇到下列錯誤:
目前的用戶必須位於 『docker-users』 群組中,才能使用 Docker Desktop。
將自己新增至 「docker-users」群組,然後註銷 Windows。
您必須是 'docker-users' 群組的成員,才能擁有使用 Docker 容器的許可權。 若要將自己新增至 Windows 10 或更新版本中的群組,請遵循下列步驟:
從 [開始] 功能表 開啟 [計算機管理 ]。
展開 [ 本機使用者和群組 ],然後選取 [ 群組 ]。
尋找 docker-users 群組,以滑鼠右鍵按兩下並選取 [新增至群組 ]。
新增您的用戶帳戶或帳戶。
註銷並重新登入,讓這些變更生效。
您也可以在系統管理員命令提示字元中使用 net localgroup
命令,將使用者新增至特定群組。
net localgroup docker-users DOMAIN\username /add
在 PowerShell 中 ,使用 Add-LocalGroupMember 函 式。
根據預設,Docker 會將映射儲存在 %ProgramData%/Docker/ 資料夾中,通常是在系統磁碟驅動器 C:\ProgramData\Docker\ 上。 若要防止映像佔用系統磁碟驅動器上的寶貴空間,您可以變更映射資料夾位置。 若要這麼做︰
以滑鼠右鍵按兩下任務列上的 Docker 圖示,然後選取 [ 設定 ]。
選取 [Docker 引擎 ]。
在編輯窗格中,使用 Docker 映像所需位置的值來新增 graph
屬性設定:
"graph" : "D:\\mypath\\images"
選取 [ 套用和重新啟動 ]。
這些步驟會修改 %ProgramData%\docker\config\daemon.json 的組態檔 。 先前建置的映像不會移動。
將 Docker 支援新增至專案時,您可以選擇 Windows 或 Linux 容器。 如果 Docker Server 主機未設定為執行與項目目標相同的容器類型,您會看到類似下列的錯誤:
若要解決此問題,請以滑鼠右鍵按兩下 [系統匣] 中的 [Docker for Windows] 圖示,然後選取 [切換至 Windows 容器...] 或 [ 切換至 Linux 容器... ]。
如需您遇到的任何其他問題,請參閱 Microsoft/DockerTools 問題。