Подстановки переменных в docker-compose в веб-приложении Azure Docker
У меня есть файл docker-compose, который содержит секрет для моей базы данных.
port: 4466
managementApiSecret: ${DB_SECRET}
Поэтому я хотел бы использовать подстановку переменных Docker-Compose ( https://docs.docker.com/compose/compose-file/), чтобы иметь возможность предоставлять свои секреты через переменную окружения вместо моего файла yaml.
Возможно ли это вообще с помощью переменных "Настройки приложения" в моем экземпляре Docker Azure Linux?
Кажется, это не работает для меня, я пробовал оба синтаксиса ${VAR} и $VAR, и ни один не работал. Я также пытался с секретами, которые содержат только буквенно-цифровые и цифры.
Заранее спасибо. Фрэнк
1 ответ
Переменные среды, которые вам нужны для запуска контейнера (например: вы хотите включить номер сборки в имя контейнера), могут быть добавлены в файл.env в том же каталоге, что и файл docker-compose.yml.
Пример файла.env:
DB_SECRET=foo
бежать: docker-compose config
и убедитесь, что переменная была заменена значением, которое у вас есть в файле.env
Также я рекомендую использовать managementApiSecret:"${DB_SECRET}"
(обратите внимание на кавычки вокруг переменной) в вашем файле docker-compose.yml
Там может быть лазурный способ поделиться секретами, но я пока не пробовал.
Если вы хотите передать переменные среды, которые нужны контейнеру, тогда https://docs.docker.com/compose/compose-file/ - это то, что вам нужно. Эти переменные среды станут частью среды внутри контейнера Docker.