我正在使用独立的 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
中,您可以定义 runArgs
,将.env
文件作为 env-file
参数传递给Docker CLI run
命令。这将使用${localWorkspaceFolder}
变量,该变量已扩展到本地源代码的包含目录:devcontainer.json
:{
“name”:“Go”,
“dockerFile”:“Dockerfile”,
“runArgs”:[
“--env-file”,“$ {localWorkspaceFolder} /。devcontainer / .env”
],
...
}