I am using a standalone Go vscode remote container for development and would like to load environment variables into the container from a file.
All examples I can find are using Docker Compose and its env_file option but using Docker Compose seems overkill for a single container. Is there any way I can achieve this without using Docker Compose?
In the .devcontainer directory of your project add a file that declares your environment variables, in this case .env:
D:.
│ .gitignore
│ README.md
│
├───.devcontainer
│ .env
│ devcontainer.json
│ Dockerfile
│
└───.vscode
settings.json
.env:
MY_URL=https://my.com/
MY_SECRET=unicorns
Then in your devcontainer.json you can define runArgs that pass the .env file as an env-file argument to the Docker CLI run command. This uses the ${localWorkspaceFolder} variable that is expanded to the containing directory of the local source code:
devcontainer.json:
{
"name": "Go",
"dockerFile": "Dockerfile",
"runArgs": [
"--env-file", "${localWorkspaceFolder}/.devcontainer/.env"
],
...
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With