Как я могу использовать файл env для передачи переменных среды в автономный удаленный контейнер vscode? - PullRequest
0 голосов
/ 04 октября 2019

Я использую автономный Go vscode удаленный контейнер для разработки и хотел бы загрузить переменные среды в контейнер из файла.

Все примеры, которые я могу найти, используют Docker Compose и его env_file параметр , но использование Docker Compose кажется излишним для одного контейнера. Есть ли способ добиться этого без использования Docker Compose?

1 Ответ

0 голосов
/ 04 октября 2019

В каталоге .devcontainer вашего проекта добавьте файл, который объявляет переменные среды, в данном случае .env:

D:.
│   .gitignore
│   README.md
│
├───.devcontainer
│      <strong>.env</strong> 
│       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": [
        <strong>"--env-file", "${localWorkspaceFolder}/.devcontainer/.env"</strong>
    ], 

    ...
}

При необходимости добавьте .env к вашему .gitignore, есливы объявляете конфиденциальную информацию.

...