Текст и данные · Инструкция
Как передать секрет в docker build безопасно
Build secrets предназначены для временного доступа к credentials без сохранения их в image layers.
Короткий ответ
Передавайте секрет через `docker build --secret id=name,src=file` и читайте в Dockerfile через `RUN --mount=type=secret,id=name ..`, а не через ARG/ENV.
Что делать
- Храните secret вне build context.
- Передайте его builder через `--secret`.
- Смонтируйте только в нужном `RUN`.
- Проверьте, что secret не копируется в final image.
Проверка результата
- Secret доступен только внутри нужного RUN и не копируется в final stage.
- docker history и содержимое финального image не раскрывают secret; Dockerfile не хранит его в ARG/ENV.
Важно
Docker указывает, что ARG и ENV не подходят для build secrets, потому что могут сохраняться в image.
Что учитывать
Docker указывает, что ARG и ENV не подходят для build secrets, потому что могут сохраняться в image.
Источники и проверка
Фактическая часть сверена по первичным источникам (в т.ч. Build secrets). Пример и формулировки — редакция N1RO на 2026-09-17.