Docker build и push: кэш, multi-stage, секреты и registry

Поменяли одну строку приложения, а Docker снова устанавливает все зависимости. Собрали образ, но push отправился не в тот registry. Здесь собраны ситуации от сборки до публикации: нужно прочитать Dockerfile или команду и объяснить результат.

Начать практику: Docker build: как передать секрет при сборке.

Вопросы с выбором ответа. Проверка доступна без регистрации.

Как проходить

Сначала разберите порядок COPY и RUN, затем — состав финального multi-stage образа и передачу секрета одному шагу сборки. Последние вопросы проверяют полное имя образа, tag, push и ссылку image в Compose. Все исходные команды и условия приведены в заданиях; для прохождения теста свой registry не нужен.

На что обратить внимание

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

Задания

  1. Docker build: как передать секрет при сборке — вопрос.
  2. Docker multi-stage: какие файлы попадут в финальный образ — вопрос.
  3. Docker COPY перед pip install: почему сбрасывается кэш — вопрос.
  4. Docker build cache: изменение кода и requirements.txt — вопрос.
  5. Docker push: почему образ отправляется в Docker Hub — вопрос.
  6. Локальный Docker registry: tag, push и Compose image — вопрос.

Продолжить обучение

Разберите тему по порядку в курсе Docker и Docker Compose: контейнеризация приложений.

Связанная практика: Практика Dockerfile: пути, запуск, права и multi-stage.