Выбор ответа Senior Образы и слои обновлено
Docker, containerd, runc
Вопрос
Как связаны Docker Engine, containerd и runc при запуске контейнера?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: dockerd передаёт команды containerd, а тот вызывает runc, который создаёт процесс по OCI. Это слои одного стека. dockerd предоставляет API и сборку, containerd управляет образами, снапшотами и контейнерами, а для создания процесса вызывает OCI-рантайм runc (через shim).
Варианты ответа
- runc это графический интерфейс Docker Desktop, а containerd сетевой плагин для bridge-сетей
- containerd нужен только Kubernetes, Docker Engine запускает процессы через runc напрямую
- Это три конкурирующих рантайма, на узле всегда установлен только один из них
- dockerd передаёт команды containerd, а тот вызывает runc, который создаёт процесс по OCIправильный ответ
Разбор
Это слои одного стека. dockerd предоставляет API и сборку, containerd управляет образами, снапшотами и контейнерами, а для создания процесса вызывает OCI-рантайм runc (через shim). Kubernetes ходит в containerd напрямую через CRI, без Docker, но Docker тоже использует containerd внутри. runc это CLI-утилита низкого уровня, а не интерфейс.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.