Docker -compose только читает конфигурацию при инициализации? - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть Docker -композитный файл, в котором есть несколько переменных среды для пользователей базы данных. У нас есть несколько экземпляров этого приложения, каждое из которых работает на своем собственном сервере, каждый с отдельным пользователем базы данных.

Мой вопрос таков: файл Docker -compose.yaml читается один раз после выполнения docker-compose build, а не в какой-либо момент после?

1 Ответ

1 голос
/ 04 февраля 2020

Нет. Docker -compose читает файл yaml каждый раз, когда вы выполняете docker -compose (build, up, info и т. Д. c.).

Но если вы собираетесь изменить переменные окружения во время изображения сборка или запуск контейнера - извините, братан, это не сработает.

Вы можете изменять переменные среды в течение срока службы (при использовании роя), но это перезапустит контейнеры. То же самое при использовании docker - составить заново при запуске проекта.

Хотя, если вы sh хотите иметь отдельные docker -компонентные файлы для каждой вашей среды с именами и паролями БД, это будет работать при запуске docker-compose up.

Вы также можете воспользоваться возможностью передачи нескольких файлов yaml в docker compose, и таким образом вы можете иметь «базовый» yaml с общими определениями и yaml среды, где вы будете хранить сохраненные учетные данные для каждой среды.

Однако, если вы беспокоитесь о том, чтобы не раскрывать пароли, переменные env не являются решением. проверьте docker секреты с помощью docker swarm или используйте внешнее хранилище ключей для защиты паролей.

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