Ответ
Просмотр переменных окружения контейнера — стандартная операция при отладке проблем с конфигурацией приложения в контейнеризированной среде.
Способ 1: Через docker exec (рекомендуется для проверки текущего состояния)
Выполняет команду env внутри запущенного контейнера, показывая все переменные, видимые в его основном процессе.
docker exec <container_id_or_name> env
Преимущество: Показывает актуальное состояние, включая переменные, которые могли быть установлены скриптами точки входа (entrypoint).
Способ 2: Через docker inspect (просмотр статической конфигурации)
Показывает переменные, заданные при создании контейнера (через Dockerfile ENV или флаг -e).
# Чистый вывод только переменных
docker inspect --format='{{range .Config.Env}}{{println .}}{{end}}' <container_id_or_name>
# Полный JSON, где нужно найти секцию "Config.Env"
docker inspect <container_id_or_name>
Когда использовать: Когда нужно понять, какие переменные были переданы контейнеру извне (например, из docker run -e или Docker Compose), без учета внутренних модификаций.
Практический пример: Приложение в контейнере не подключается к базе данных. Первым делом смотрю переменные через docker exec ... env, чтобы убедиться, что DB_HOST, DB_PASSWORD загружены корректно и имеют ожидаемые значения, а не значения по умолчанию.