在 Windows 上設置開發容器

開發容器使您能夠將 Docker 容器作為完整的開發環境,由版本庫中檢入的 devcontainer.json 檔案來定義。 所有開啟專案的人都會獲得相同的工具、擴充功能和設定——不論他們本機安裝了什麼。

本頁介紹了 Windows 專用的設定。 想了解什麼是 Dev Containers 及其運作方式,請參閱 VS Code 網站上 的 Dev Containers 文件

先決條件

Windows 上的開發容器需要:

  • WSL 2 — Windows 子系統 Linux 版,版本2。 如果你還沒安裝 WSL,請先安裝
  • Docker Desktop for Windows,啟用 WSL 2 後端。 下載 Docker Desktop 並依照安裝程式操作。 設定時,請確保在 Docker Desktop 設定(設定>)中選擇「使用 WSL 2 基礎引擎」。
  • Visual Studio Code下載 VS Code
  • Dev Containers 擴充功能 — 從 VS Code Marketplace 安裝 Dev Containers 擴充功能

你存放檔案的位置很重要

這很重要

在 Windows 上,開發容器的效能很大程度取決於你的專案檔案存放在哪裡。 將專案存放在 WSL 2 檔案系統(例如 /home/yourname/projects/),而非 Windows 檔案系統(例如 C:\Users\yourname\projects\)。

當你的檔案在Windows檔案系統(C:\)時,Docker 會透過跨作業系統檔案分享存取它們,速度明顯慢很多。 當你的檔案在 WSL 2 檔案系統中時,Docker 會使用原生的 Linux I/O,效能明顯更好——尤其是在建置和檔案監控工具上。

要複製到 WSL 2 檔案系統,請從開始選單或 Windows 終端機 開啟你的 WSL 發行版(例如 Ubuntu),並在那裡複製:

cd ~
mkdir projects && cd projects
git clone https://github.com/your-org/your-repo.git

然後用 WSL 的 VS Code 開啟該資料夾:

code your-repo

VS Code 連接 WSL 並偵測 devcontainer.json 是否有

在開發容器中開啟專案

一旦你的專案在 VS Code 中開啟(連接到 WSL):

  1. F1 並選擇 開發容器:在容器中重新開啟
  2. VS Code 會建立定義的 .devcontainer/devcontainer.json 容器映像(如果沒有容器,則會提示你新增)。
  3. 建置完成後,VS Code 會在容器內重新連接,並使用所有已設定的工具與擴充功能。

要回到本地環境,按 F1 並選擇「開發容器:重新開啟資料夾」在本地。

將開發容器加入現有專案

如果你的專案還沒有devcontainer.json

  1. F1 並選擇 開發容器:新增開發容器設定檔
  2. 選擇一個基礎映像檔(例如 Node.js、Python,或通用的 Debian/Ubuntu 映像檔)。
  3. VS Code 會建立 .devcontainer/devcontainer.json 一個你可以檢查到原始碼控制的檔案。

完整的devcontainer.json選項說明,請參閱開發容器規範網站上的devcontainer.json 參考

Troubleshooting

容器啟動,但檔案變更未被偵測到你的專案很可能儲存在Windows檔案系統中。 把它移到 WSL(請參見上面提到的 「你存放檔案的地方中所述」)。

Docker Desktop 無法啟動或缺少 WSL 整合打開 Docker 桌面,點到設定>資源>WSL 整合,啟用你已安裝的 WSL 發行版的整合。

VS Code 無法連接到容器 開啟 VS Code 前,請確保 Docker Desktop 正在執行。 請檢查 Docker Desktop 系統托盤圖示。

下一步