Переменная указана в Docker Compose, но приложение её не видит?
Сначала проверьте итоговую конфигурацию:
docker compose config
Не публикуйте вывод без проверки: в нём могут оказаться чувствительные значения.
Затем проверьте окружение работающего контейнера. В примере сервис называется app:
docker compose exec app printenv APP_MODE
Учитывайте:
* .env и --env-file могут использоваться для подстановки в Compose-файл;
* env_file у сервиса передаёт переменные в контейнер;
* ARG действует во время сборки и сам по себе не попадает в окружение контейнера;
* после изменения переменных контейнер может потребоваться пересоздать;
* exec проверяет новый процесс, а не то, применило ли значение основное приложение;
* в минимальном образе команды printenv может не быть;
* секреты нельзя безопасно передавать через ARG или ENV.
Сохраните схему проверки конфигурации.
#Docker #DevOps #УЦФОРС
Сначала проверьте итоговую конфигурацию:
docker compose config
Не публикуйте вывод без проверки: в нём могут оказаться чувствительные значения.
Затем проверьте окружение работающего контейнера. В примере сервис называется app:
docker compose exec app printenv APP_MODE
Учитывайте:
* .env и --env-file могут использоваться для подстановки в Compose-файл;
* env_file у сервиса передаёт переменные в контейнер;
* ARG действует во время сборки и сам по себе не попадает в окружение контейнера;
* после изменения переменных контейнер может потребоваться пересоздать;
* exec проверяет новый процесс, а не то, применило ли значение основное приложение;
* в минимальном образе команды printenv может не быть;
* секреты нельзя безопасно передавать через ARG или ENV.
Сохраните схему проверки конфигурации.
#Docker #DevOps #УЦФОРС