Нет. Docker -compose читает файл yaml каждый раз, когда вы выполняете docker -compose (build, up, info и т. Д. c.).
Но если вы собираетесь изменить переменные окружения во время изображения сборка или запуск контейнера - извините, братан, это не сработает.
Вы можете изменять переменные среды в течение срока службы (при использовании роя), но это перезапустит контейнеры. То же самое при использовании docker - составить заново при запуске проекта.
Хотя, если вы sh хотите иметь отдельные docker -компонентные файлы для каждой вашей среды с именами и паролями БД, это будет работать при запуске docker-compose up
.
Вы также можете воспользоваться возможностью передачи нескольких файлов yaml в docker compose, и таким образом вы можете иметь «базовый» yaml с общими определениями и yaml среды, где вы будете хранить сохраненные учетные данные для каждой среды.
Однако, если вы беспокоитесь о том, чтобы не раскрывать пароли, переменные env не являются решением. проверьте docker секреты с помощью docker swarm или используйте внешнее хранилище ключей для защиты паролей.