Выбор ответа Junior Docker для разработчика обновлено

Тег latest в продакшне

Вопрос

Почему в продакшн-конфигурации не стоит писать image: postgres:latest или FROM node:latest?

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

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

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

Коротко

Правильный ответ: latest меняется со временем: сборка невоспроизводима, откат неясен. Тег это изменяемый указатель.

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

  1. Тег latest запрещён в Docker Hub для официальных образов
  2. latest меняется со временем: сборка невоспроизводима, откат неясенправильный ответ
  3. Образы с тегом latest всегда больше по размеру
  4. С тегом latest контейнер не перезапускается автоматически при сбое процесса

Разбор

Тег это изменяемый указатель. Сегодня postgres:latest это одна мажорная версия, завтра другая, и данные старой версии могут не открыться. Пишут конкретную версию (postgres:16-alpine, node:22-alpine), а для полной воспроизводимости ещё и digest @sha256:....

  • latest разрешён и есть у многих официальных образов.
  • Размер образа от тега не зависит.
  • Политика перезапуска с тегом не связана.

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

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