Ошибки и коды · Инструкция
Docker Compose не загружает .env или env_file
Из каталога запуска выполните `docker compose config --environment` и найдите нужное имя. Выполните `docker compose conf
Короткий ответ
Разделите два механизма: `.env`/`--env-file` используются для interpolation Compose, а `env_file:` передаёт переменные внутрь контейнера; проверьте итог через `docker compose config --environment` и `docker compose config`.
Проверка по порядку
- Из каталога запуска выполните `docker compose config --environment` и найдите нужное имя.
- Выполните `docker compose config` и посмотрите, во что реально превратилось `${VAR}`.
- Для другого interpolation-файла запустите `docker compose --env-file <file> config` и сравните результат.
Исправление
- Если переменная нужна контейнеру, проверьте `environment:` или `env_file:` у конкретного service.
- Проверьте относительный путь файла с учётом текущего Compose project/config.
- Пересоздайте service после изменения env и проверьте значение внутри контейнера, не выводя секреты в общий лог.
Как понять, что исправлено
- docker compose config и config --environment показывают ожидаемые значения и контейнер получает только переменные из нужного источника.
Важно
Не путайте Compose interpolation и env_file: одинаковое имя переменной может иметь разные источники и precedence. Всегда смотрите resolved config.
Что учитывать
Не путайте Compose interpolation и env_file: одинаковое имя переменной может иметь разные источники и precedence. Всегда смотрите resolved config.
Источники и проверка
Фактическая часть сверена по первичным источникам (в т.ч. Interpolation). Пример и формулировки — редакция N1RO на 2026-09-17.