Выбор ответа Middle Секреты и управление ключами обновлено

Секрет в слое образа

Вопрос

В Dockerfile: COPY .env /app/.env, затем RUN rm /app/.env. Удалён ли секрет из образа?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Нет: файл остаётся в предыдущем слое образа и извлекается из него. Каждая инструкция создаёт слой, и удаление в следующем слое только прячет файл.

Варианты ответа

  1. Нет: файл остаётся в предыдущем слое образа и извлекается из негоправильный ответ
  2. Да: rm в следующей инструкции удаляет файл из всех слоёв образа
  3. Да, если образ собран без кеша и с флагом --no-cache у docker build
  4. Да, если образ хранится в приватном реестре с доступом по токену

Разбор

Каждая инструкция создаёт слой, и удаление в следующем слое только прячет файл. Любой, кто скачает образ, достанет его. Для секретов на этапе сборки есть RUN --mount=type=secret в BuildKit, а рантайм-секреты передаются при запуске. Приватный реестр снижает круг лиц, но не решает проблему.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме