【问题标题】:How does docker compare to openshift?docker 与 openshift 相比如何?
【发布时间】:2013-05-26 06:35:52
【问题描述】:

DockerOpenShift 都是实现 PaaS 服务的框架。

它们在架构和功能方面如何比较?

【问题讨论】:

    标签: openshift docker


    【解决方案1】:

    Openshift 是 kubernetes (k8s) 之上的一个抽象层,提供了 k8s 所缺乏的有用 UI。您可能知道,k8s 是一个编排器,需要将您的应用程序打包为镜像。您可以使用 docker 来创建您的镜像,但您不受限制,也可以使用其他供应商(如 Rocket 等)来实现此目的。

    docker 拥有的生产部署平台称为 docker swarm。它是一个很棒的平台,但是 k8s 在这个领域处于领先地位,目前是行业的首选。

    【讨论】:

      【解决方案2】:

      主要区别在于 Docker 作为一个项目只关注运行时容器,而 OpenShift(作为一个系统)包括运行时容器以及 REST API、协调和用于部署和管理单个容器的 Web 界面.

      仅比较运行时容器,OpenShift 和 Docker 都使用内核隔离功能来保持租户进程的分离。对于主要通过 LXC 的 Docker 和主要通过 SELinux 和多类别安全性 (MCS) 的 OpenShift。两者都使用 cgroups 来限制租户的 CPU、内存和 IO。上游 OpenShift 正在研究 LXC 以减少长期工作量。

      Docker 使用AUFS 进行高级磁盘和文件写时复制共享,OpenShift 既不需要也不与这样的系统不兼容。

      在容器内部,OpenShift 通过“墨盒”对功能单元(Web 服务器、数据库)进行建模,“墨盒”是一组在调用系统时调用的 shell 脚本挂钩。 API 描述为here。墨盒大致类似于 docker 映像。

      Openshift 还描述了代理(协调器)与节点(托管多个租户容器的服务器)通信以调用该容器中的端点的 API。

      编辑添加:截至 2015 年 6 月,OpenShift Origin 1.0 在 Docker 和 Kubernetes 之上运行,您可以构建和开发在 Docker 运行时上运行的多容器应用程序。 OpenShift 在 Kube 和 Docker 之上添加构建、映像工作流程和升级以及安全的容器集群操作

      【讨论】:

      • @Clayton 链接断开。墨盒 API 现在描述为 here
      • 修复了链接并添加了有关 OpenShift 和 Docker 的更多信息
      • @Clayton,感谢您的这篇有用的帖子。现在有了 GearD,如果使用 GearD,这是否意味着墨盒已经过时?从您的帖子中我认为是这样,但想澄清一下。谢谢!
      • AuFS 分层文件系统,LXC
      【解决方案3】:

      一张图抵千言:

      【讨论】:

        【解决方案4】:

        Openshift 更像是容器编排的抽象层。 Openshift 在内部使用 Kubernetes 进行容器编排。 Kubernetes 是 Docker 容器的容器编排系统,与 Docker swarm 相比更广泛。

        Openshift 是部署企业应用程序的完美平台,因为它提供 Image(S2I) 功能的源代码、容器编排、服务发现、服务扩展、构建管道。所有这些都是通过 CLI 和提供良好用户界面的 openshift 仪表板完成的。 Docker 有 docker swarm 用于容器编排,但很多事情必须手动完成,没有任何用户友好的界面。

        【讨论】:

          【解决方案5】:

          我想我应该使用 2018 年底附近的可用信息更新这个问题的答案。

          现在的情况比最初提出问题时要复杂一些。目前 Docker Inc. 是 docker 和 Moby 的主要开发商——目前是 docker 运行时的上游项目和 docker 的商业企业版,想象中称为 Docker 企业版。

          对这个问题的当代分析将导致将 Docker 企业版与 RedHat OpenShift 进行比较。这些容器平台相互直接竞争,两者都被认为是可以在本地和云端运行的 Kubernetes 发行版。在撰写本文时,Docker Inc. 的 Docker-EE 在功能和销售方面处于领先地位,但来自提供 kubernetes 平台即服务的公共云提供商的激烈竞争并开始进入更高级的无服务器容器平台。

          【讨论】:

            【解决方案6】:

            这是迄今为止最好的初学者解释。 https://deis.com/blog/2016/kubernetes-illustrated-guide/

            这不是开玩笑,有时我们需要像孩子一样看待事物才能真正理解。

            我不会说它们甚至具有可比性。 Openshift 是 redhat 的一个企业解决方案,它建立在 kubernetes 之上。 Kubernetes 只是一个帮助组织和自动化使用 docker 容器的框架。 我将从视频开始,然后在较低级别查看 kupernetes。一旦你感到舒服,然后开始研究 openshift 添加的功能。

            【讨论】:

            • OpenShift 不仅仅是 Kubernetes 的企业版,它还提供了很多附加值。 Kubernetes 本身并不是真正的最终用户产品,它只是一个有助于管理容器的项目。您需要在 Kubernetes 中添加大量其他项目,以使其对开发人员更有用。例如,指标、聚合日志记录、构建和部署自动化,可选择使用 Jenkins 完成。所有这些以及更多东西都可以通过 OpenShift 开箱即用,因为您必须自己使用 Kubernetes 安装它们。
            • 嗨贾斯汀,指南链接已失效
            【解决方案7】:

            在过去的两年里,我发现了一些关于这个话题的有趣读物:

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2021-02-05
              • 1970-01-01
              • 2011-02-07
              • 2023-03-26
              • 2010-09-06
              • 2011-03-17
              • 2017-10-27
              • 1970-01-01
              相关资源
              最近更新 更多