Подстановки переменных в 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.

Другие вопросы по тегам