如何使用 env 文件将环境变量传递到独立的 vscode 远程容器中?
How can I use an env file to pass environment variables into a standalone vscode remote container?
我正在使用独立的 Go
vscode 远程容器进行开发,并希望将环境变量从文件加载到容器中。
我能找到的所有示例都在使用 Docker Compose 及其 env_file
option,但使用 Docker Compose 对于单个容器来说似乎有点过分了。有什么方法可以在不使用 Docker Compose 的情况下实现这一目标?
在项目的 .devcontainer
目录中添加一个声明环境变量的文件,在本例中为 .env
:
D:.
│ .gitignore
│ README.md
│
├───.devcontainer
│ .env
│ devcontainer.json
│ Dockerfile
│
└───.vscode
settings.json
.env
:
MY_URL=https://my.com/
MY_SECRET=unicorns
然后在您的 devcontainer.json
中,您可以为 Docker CLI run
命令定义 runArgs
that pass the .env
file as an env-file
参数。这里使用扩展到本地源代码的包含目录的 ${localWorkspaceFolder}
变量:
devcontainer.json
:
{
"name": "Go",
"dockerFile": "Dockerfile",
"runArgs": [
"--env-file", "${localWorkspaceFolder}/.devcontainer/.env"
],
...
}
我正在使用独立的 Go
vscode 远程容器进行开发,并希望将环境变量从文件加载到容器中。
我能找到的所有示例都在使用 Docker Compose 及其 env_file
option,但使用 Docker Compose 对于单个容器来说似乎有点过分了。有什么方法可以在不使用 Docker Compose 的情况下实现这一目标?
在项目的 .devcontainer
目录中添加一个声明环境变量的文件,在本例中为 .env
:
D:. │ .gitignore │ README.md │ ├───.devcontainer │ .env │ devcontainer.json │ Dockerfile │ └───.vscode settings.json
.env
:
MY_URL=https://my.com/
MY_SECRET=unicorns
然后在您的 devcontainer.json
中,您可以为 Docker CLI run
命令定义 runArgs
that pass the .env
file as an env-file
参数。这里使用扩展到本地源代码的包含目录的 ${localWorkspaceFolder}
变量:
devcontainer.json
:
{ "name": "Go", "dockerFile": "Dockerfile", "runArgs": [ "--env-file", "${localWorkspaceFolder}/.devcontainer/.env" ], ... }