По порядку Senior Образы и слои обновлено

Что происходит при docker run

Вопрос

Расставь по порядку, что происходит при docker run -d nginx:1.27 на машине, где образа ещё нет.

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

Расставьте шаги по порядку стрелками.

  1. 1
    Создаётся контейнер: записываемый слой поверх слоёв образа, сеть, конфигурация
  2. 2
    Демон ищет образ локально и, не найдя, скачивает недостающие слои из реестра
  3. 3
    CLI отправляет запрос в API демона dockerd
  4. 4
    containerd через runc создаёт процесс с namespaces и cgroups
  5. 5
    Запускается процесс из ENTRYPOINT/CMD, контейнер в статусе running
Показать ответ и разбор

Коротко

Сначала нужен образ, затем из него готовится контейнер (файловая система, сеть, параметры), и только потом низкоуровневый рантайм создаёт изолированный процесс. docker run по сути это pull (если нужно), create и start.

Правильный порядок

  1. 1
    CLI отправляет запрос в API демона dockerd
  2. 2
    Демон ищет образ локально и, не найдя, скачивает недостающие слои из реестра
  3. 3
    Создаётся контейнер: записываемый слой поверх слоёв образа, сеть, конфигурация
  4. 4
    containerd через runc создаёт процесс с namespaces и cgroups
  5. 5
    Запускается процесс из ENTRYPOINT/CMD, контейнер в статусе running

Разбор

Сначала нужен образ, затем из него готовится контейнер (файловая система, сеть, параметры), и только потом низкоуровневый рантайм создаёт изолированный процесс. docker run по сути это pull (если нужно), create и start.

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

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