參加你附近的 ,瞭解 VS Code 中的 AI 輔助開發。

環境變數

您可以使用以下選項之一在容器中設定環境變數,而無需更改容器映象。

您應驗證設定中是否勾選了終端 > 整合:繼承環境變數,否則您設定的變數可能不會出現在整合終端中。此設定預設處於勾選狀態。

選項 1:新增單個變數

根據您在 devcontainer.json 中引用的內容

  • Dockerfile 或映象:將 containerEnv 屬性新增到 devcontainer.json 以設定應應用於整個容器的變數,或將 remoteEnv 新增到 devcontainer.json 以設定 VS Code 和相關子程序(終端、任務、除錯等)的變數。

    "containerEnv": {
        "MY_CONTAINER_VAR": "some-value-here",
        "MY_CONTAINER_VAR2": "${localEnv:SOME_LOCAL_VAR}"
    },
    "remoteEnv": {
        "PATH": "${containerEnv:PATH}:/some/other/path",
        "MY_REMOTE_VARIABLE": "some-other-value-here",
        "MY_REMOTE_VARIABLE2": "${localEnv:SOME_LOCAL_VAR}"
    }
    

    如本示例所示,containerEnv 可以引用本地變數,remoteEnv 可以引用本地變數和現有容器變數。

影片:在開發容器中修改 PATH



  • Docker Compose:由於 Docker Compose 對更新容器範圍的變數具有內建支援,因此 devcontainer.json 中僅支援 remoteEnv

    "remoteEnv": {
        "PATH": "${containerEnv:PATH}:/some/other/path",
        "MY_REMOTE_VARIABLE": "some-other-value-here",
        "MY_REMOTE_VARIABLE2": "${localEnv:SOME_LOCAL_VAR}"
    }
    

    如本示例所示,remoteEnv 可以引用本地變數和現有容器變數。

    要更新應用於整個容器的變數,請使用以下內容為相應的服務更新(或擴充套件)您的 docker-compose.yml

    version: '3'
    services:
      your-service-name-here:
        environment:
          - YOUR_ENV_VAR_NAME=your-value-goes-here
          - ANOTHER_VAR=another-value
         # ...
    

如果您已經構建了容器並連線到它,請從命令面板 (F1) 執行 開發容器:重建容器 以應用更改。否則,執行 開發容器:在容器中開啟資料夾... 以連線到容器。

選項 2:使用 env 檔案

如果您需要設定大量環境變數,則可以使用 .env 檔案代替。

首先,在原始碼樹中的某個位置建立一個環境檔案。考慮這個 .devcontainer/devcontainer.env 檔案

YOUR_ENV_VAR_NAME=your-value-goes-here
ANOTHER_ENV_VAR_NAME=your-value-goes-here

接下來,根據您在 devcontainer.json 中引用的內容

  • Dockerfile 或映象:編輯 devcontainer.json 並新增 devcontainer.env 的路徑。

    "runArgs": ["--env-file",".devcontainer/devcontainer.env"]
    
  • Docker Compose:編輯 docker-compose.yml 並新增相對於 Docker Compose 檔案的 devcontainer.env 檔案的路徑

    version: '3'
    services:
      your-service-name-here:
        env_file: devcontainer.env
        # ...
    

docker compose 將自動獲取包含 docker-compose.yml 的資料夾中名為 .env 的檔案,但您也可以在其他位置建立一個。

如果您已經構建了容器並連線到它,請從命令面板 (F1) 執行 開發容器:重建容器 以應用更改。否則,執行 開發容器:在容器中開啟資料夾... 以連線到容器。

影片:從 .env 檔案載入變數