Подтвердить что ты не робот

Libcontainer vs Docker vs OCF vs runc?

Я пытаюсь понять мир Докера немного лучше, и, похоже, я не могу заставить мозг обойти различия между ними. Я считаю, что OCF - это новый контейнерный стандарт, одобренный OpenContainers, и я считаю, что Docker является первой эталонной реализацией этого стандарт. Но даже тогда у меня есть опасения, что Google Gods, похоже, не дают ответов на:

  • Что такое OCF "стандарт"? Только письменный документ? Письменный API? Скомпилированный C lib?
  • Каковы некоторые примеры конкретных элементов, регулируемых этим стандартом? Я думаю, что, не понимая, что такое "контейнер", мне трудно понять, какой стандарт управления для контейнеров даже адресован.
  • Как/где runc и libcontainer вписываются в уравнение Docker/OCF?
4b9b3361

Ответ 1

Open Container Format (OCF) спецификация - это письменный документ (или набор документов), определяющий, что такое "стандартный контейнер", в условия файловой системы, доступные операции и среда выполнения. Документ, похоже, подкреплен кодом Go. Эта спецификация в настоящее время (июль 2015 г.) не работает.

Runc - это реализация стандарта. На момент написания статьи это в основном переупаковка libcontainer.

Docker использует libcontainer/runc, но добавляет множество инструментов и функций наверху, таких как тома, создание сетей и управление контейнерами.

Более подробная информация о блоге и Open Containers site.

Если вы только начинаете с контейнеров, я начну с Docker и рассмотрю другие проекты позже, как только вы поймете, как работают контейнеры.

Ответ 2

На случай, если кто-то случайно найдет этот старый поток, как я это делал, эта спецификация больше не называется OCF, теперь она известна как "Спецификация времени выполнения Open Container Initiative", ссылка выше все еще работает, хотя теперь она отправляет вы https://github.com/opencontainers/runtime-spec. Существует другая спецификация OCF (Open Connectivity Foundation).