Docker 和 OpenShift 都是实现 PaaS 服务的框架。
它们在架构和功能方面如何比较?
原文由 w00t 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想我应该用 2018 年底附近的可用信息来更新这个问题的答案。
现在的情况比最初提出问题时要复杂一些。目前 Docker Inc. 是 docker 和 Moby 的主要开发商——目前是 docker 运行时的上游项目和 docker 的商业企业版,想象中称为 Docker 企业版。
对这个问题的当代分析将导致将 Docker 企业版与 RedHat OpenShift 进行比较。这些容器平台相互直接竞争,两者都被认为是可以在本地和云端运行的 Kubernetes 发行版。在撰写本文时,Docker Inc. 的 Docker-EE 在功能和销售方面处于领先地位,但来自提供 kubernetes 平台即服务的公共云提供商的激烈竞争并开始进入更高级的无服务器容器平台。
原文由 Software Engineer 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答2.4k 阅读✓ 已解决
2 回答829 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答1.4k 阅读
2 回答1.3k 阅读
1 回答1.6k 阅读
1.1k 阅读
主要区别在于 Docker 作为一个项目只关注运行时容器,而 OpenShift(作为一个系统)包括运行时容器以及 REST API、协调和用于部署和管理单个容器的 Web 界面。
仅比较运行时容器,OpenShift 和 Docker 都使用内核隔离功能来保持租户进程的分离。对于主要通过 LXC 的 Docker 和主要通过 SELinux 和多类别安全性 (MCS) 的 OpenShift。两者都使用 cgroups 来限制租户的 CPU、内存和 IO。上游 OpenShift 正在寻找 LXC 以减少长期工作量。
Docker 使用 AUFS 进行高级磁盘和文件写入时复制共享,OpenShift 既不需要也不与这样的系统不兼容。
在容器内部,OpenShift 通过“墨盒”对功能单元(Web 服务器、数据库)进行建模,“墨盒”是一组在调用系统时调用的 shell 脚本挂钩。 API 在这里 描述。墨盒大致类似于 docker 映像。
Openshift 还描述了代理(协调器)与节点(托管多个租户容器的服务器)通信以调用该容器中的端点的 API。
编辑添加:截至 2015 年 6 月,OpenShift Origin 1.0 在 Docker 和 Kubernetes 之上运行,您可以构建和开发在 Docker 运行时运行的多容器应用程序。 OpenShift 在 Kube 和 Docker 之上添加构建、映像工作流程和升级以及安全的容器集群操作