Где находится libcontainer в стеке docker? - PullRequest
2 голосов
/ 26 мая 2020

Типичный стек контейнеров docker, известный мне: docker (клиент) -> dockerd -> containerd -> run C. Тогда вы также услышите о libcontainer . Мне интересно, где libcontainer помещается в указанном выше стеке и какова его роль / назначение.

1 Ответ

1 голос
/ 24 июня 2020

Краткий ответ:

Что началось на github.com / docker / libcontainer теперь, похоже, продолжается на github.com / opencontainers / run c / tree / master / libcontainer

, что означает, что теперь мы иметь: dockercontainerd запустить clibcontainer

Немного истории

Части из: История низкоуровневых Linux контейнеров следуют.

В начале:

... вышестоящие разработчики Docker, включая некоторых членов моей команды Red Hat, решили, что им нужен golang нативный способ запуска контейнеров, а не запуск отдельного приложения. Началась работа над libcontainer, как родной golang библиотекой для запуска контейнеров ...

и после того, как была сформирована Open Container Initiative (OCI):

... libcontainer части Docker были выделены и переданы в дар OCI. Разработчики Docker и наши инженеры помогли создать новый интерфейсный инструмент для чтения файла OCI Runtime Specification JSON и взаимодействия с libcontainer для запуска контейнера. Этот инструмент под названием runc также был подарен OCI.

Дополнительная литература:

...