我正在使用独立的Go
vscode远程容器进行开发,并希望将环境变量从文件加载到容器中。
我可以找到的所有示例都在使用Docker Compose及其env_file
option,但是对于单个容器使用Docker Compose似乎有些过分。不使用Docker Compose,有什么方法可以实现这一目标?
答案 0 :(得分:0)
在项目的.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
中,可以定义runArgs
,将.env
文件作为env-file
参数传递给Docker CLI run
命令。这使用${localWorkspaceFolder}
变量,该变量扩展到本地源代码的包含目录:
devcontainer.json
:
{ "name": "Go", "dockerFile": "Dockerfile", "runArgs": [ "--env-file", "${localWorkspaceFolder}/.devcontainer/.env" ], ... }
如果要声明敏感信息,可以选择将.env
添加到.gitignore
中。