Мы уже говорили, что переменные из .env файлов при сборке Docker-образов запекаются в слои навсегда. Вот свежий кейс от команды, где ключи БД и токены оказались доступны всем.
Что пошло не так
В Dockerfile скопировали .env в контекст или использовали в RUN-командах. Результат:
docker history показывает секреты, любой pull видит их в inspect.Фикс и лучшие практики
Передавайте через
--env-file только на runtime. Для build ARG без дефолтов и --build-arg снаружи. Multi-stage сборка сбрасывает промежуточные слои с данными.➡️ Живой пример | Зеркало
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#разбор_полётов