2017-01-14 3 views
8

Как эти два сравнения? Насколько я понимаю, runC - среда выполнения для контейнеров. Это означает, что этот компонент обеспечивает необходимую среду для запуска контейнеров. Какова роль контейнера здесь? Если все остальное (создание сетей, управление томами и т. Д.), То в чем роль Docker Engine? А как насчет containerd-shim? В принципе, я пытаюсь понять, что делает каждый из этих компонентов.Как containerd сравнивается с runC

ответ

20

я дам обзор высокого уровня, чтобы вы начали:

  • containerd является контейнер во время выполнения, который может управлять жизненным циклом контейнера - от переноса изображения/хранения в контейнерное исполнение, контроль и сети.
  • Контейнеры-контейнеры для контейнеров-контейнеров, которые означают, что когда runc инициализирует контейнеры, он выходит, передавая контейнеры контейнеровозу, который действует как посредник.
  • runc - легкий универсальный контейнер времени выполнения, который соответствует спецификации OCI. runc используется containerd для нереста и запуска контейнеров в соответствии со спецификацией OCI. Это также переупаковка libcontainer.
  • grpc используется для связи между контейнером и докер-двигателем.
  • OCI поддерживает спецификацию OCI для времени выполнения и изображений. Текущие версии докеров поддерживают изображения OCI и спецификации времени выполнения.

runC, containerD

Другие ссылки:

+1

Какова роль _Docker Engine_ тогда? –

+0

@DimaKnivets [Docker Engine] (https://www.docker.com/products/docker-engine) - это компонент более высокого уровня, который управляет множеством таких вещей, как оркестровка, управление томами, сетевое взаимодействие, масштабирование и т. Д. –

+0

Docker не поддерживает спецификацию изображения OCI. Для этого есть несколько запросов на растяжение, но я сомневаюсь, что они будут объединены в ближайшее время. – cyphar

Смежные вопросы