n1ro°
RU

Текст и данные · Инструкция

Как передать секрет в docker build безопасно

Build secrets предназначены для временного доступа к credentials без сохранения их в image layers.

Редакция N1RO · Проверено

Короткий ответ

Передавайте секрет через `docker build --secret id=name,src=file` и читайте в Dockerfile через `RUN --mount=type=secret,id=name ..`, а не через ARG/ENV.

Что делать

  1. Храните secret вне build context.
  2. Передайте его builder через `--secret`.
  3. Смонтируйте только в нужном `RUN`.
  4. Проверьте, что 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.