В Docker Compose, являются ли переменные среды из .env связанными внутри изображений или доступны только для контейнера? - PullRequest
1 голос
/ 11 марта 2019

Если у меня есть файл docker-compose.yml локально и файл .env, который содержит секреты и переменные, действительные для моей локальной среды, я строю стек с помощью docker-compose build, я помещаю стек в реестр изображенийиспользование docker-compose push.

Означает ли это, что любая другая среда, которая делает docker-compose pull && docker-compose up из этого хранилища, получит изображение с частными переменными среды, уже доступными внутри изображения (которые могут содержать секретные вещи, такие как токены доступа))?

Или другими словами: вещи, определенные в файле .env, доступны во время сборки образа или во время выполнения контейнера?

1 Ответ

1 голос
/ 11 марта 2019

Это зависит от вашего Dockerfile, то есть от того, как вы определяете, как создать образ.

Если вы случайно скопировали файл .env в образ на этапе сборки (в Dockerfile), он может быть загружен.

Если вы используете его только как часть файла docker-compose (параметр env_file), переменные будут переданы в контейнеры только во время выполнения. В таком случае вам нужно убедиться, что файл .env существует везде, где вы решите запустить контейнеры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...