Docker и OpenShift являются обеими структурами для реализации службы PaaS.
Как они сравниваются в архитектуре и функциях?
Docker и OpenShift являются обеими структурами для реализации службы PaaS.
Как они сравниваются в архитектуре и функциях?
Основное различие заключается в том, что Docker как проект ориентирован только на контейнер времени выполнения, тогда как OpenShift (как система) включает как контейнер времени выполнения, так и API REST, координацию и веб-интерфейсы для развертывания и управления отдельными контейнерами.
Сравнивая только контейнеры времени выполнения, OpenShift и Docker используют функции изоляции ядра, чтобы разделить процессы арендатора. Для Docker это, прежде всего, LXC и OpenShift, что в значительной степени обеспечивается безопасностью SELinux и множественной категорией (MCS). Оба используют группы, чтобы ограничить CPU, память и IO арендаторов. Upstream OpenShift рассматривает LXC для сокращения долгосрочных усилий.
Docker использует AUFS для совместного доступа к дискам и файлам с копией на запись, OpenShift не требует и несовместим с такой системой.
Внутри контейнера OpenShift моделирует единицы функциональности (веб-серверы, dbs) через "картриджи", которые представляют собой набор команд оболочки script, которые вызывается при вызове системы. API описан здесь. Картридж примерно похож на изображение докера.
Openshift также описывает API, с помощью которого брокер (координатор) связывается с узлами (серверами, на которых размещаются несколько контейнеров-арендаторов), для вызова конечных точек в этом контейнере.
EDITED ADD: Начиная с июня 2015 года OpenShift Origin 1.0 работает поверх Docker и Kubernetes, и вы можете создавать и разрабатывать многоконтейнерные приложения, которые запускаются во время выполнения Docker. OpenShift добавляет сборку, работу с изображениями и продвижение по службе, а также защищает операции кластерного кластера над Kube и Docker
Вот далекое лучшее объяснение начинающего. https://deis.com/blog/2016/kubernetes-illustrated-guide/
Это не шутка, иногда нам нужно просматривать вещи, как ребенок, чтобы действительно понять.
Я бы не сказал, что они даже сопоставимы. Openshift - это корпоративное решение от redhat, которое основывается на кубернетах. Kubernetes - это всего лишь основа для организации и автоматизации работы с докерными контейнерами. Я бы начал с видео, а затем посмотрел на купернеты на более низком уровне. После того, как вы почувствуете себя комфортно, начните изучать функции, которые добавляет добавление.
Я нашел несколько интересных чтений об этой теме за последние два года:
Я подумал, что должен обновить ответы на этот вопрос информацией, доступной ближе к концу 2018 года.
Ситуация сейчас немного сложнее, чем когда вопрос был задан изначально. В настоящее время Docker Inc. является основным разработчиком Docker и Moby, который в настоящее время является основным проектом для среды исполнения Docker и коммерческой версии Docker, образно называемой Docker Enterprise Edition.
Современный анализ этого вопроса приведет к сравнению Docker Enterprise Edition с RedHat OpenShift. Эти контейнерные платформы находятся в прямой конкуренции друг с другом, и оба они считаются дистрибутивами Kubernetes, которые можно запускать как на месте, так и в облаке. На момент написания этой статьи Docker Inc. Docker-EE лидировал в плане возможностей и продаж, но существует жесткая конкуренция со стороны провайдеров общедоступных облаков, которые предлагают kubernetes Platform (s) в качестве услуги и начинают двигаться. в более продвинутые серверные контейнерные платформы.