РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗dcSpSgBs 39 of 98 menu
◀ ▶

Секрет сборки в Docker

Секрет сборки доступен команде на время шага и не остаётся файлом в готовом образе. Его передают снаружи, а в рецепте указывают только идентификатор монтирования.

Рядом с файлом шагов лежит token.txt со словом demo - это учебный текст, не настоящий пароль. Образ note копирует содержимое в обычный файл на шаге RUN:

FROM alpine RUN --mount=type=secret,id=token cp /run/secrets/token /note.txt CMD ["cat", "/note.txt"]

При сборке нужно связать идентификатор token с файлом на диске. Флаг --secret у docker build задаёт источник для монтирования. Сборка с меткой note:

docker build --secret id=token,src=token.txt -t note .

Запуск печатает demo, потому что шаг скопировал текст в обычный файл. Сам секрет по пути /run/secrets/token в образ не входит, а скопированный /note.txt входит. Проверим вывод:

docker run --rm note

Соберите образ hint, который на одном шаге читает внешний файл key.txt со словом hint и записывает его в /msg.txt для CMD.

После сборки запустите hint и сравните: в готовом образе есть /msg.txt, а исходный секрет по служебному пути отсутствует.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить