Kubernetes Pods和Docker Compose(s)(Composures?)有什么不同?

Kubernetes Pods和Docker Compose脚本的结果(以下简称“组合”)看起来会导致虚拟计算机的集群。

集群中的计算机都可以configuration为相互通信,以便您可以编写一个脚本来反映您的整个端到端生产configuration。 单个脚本允许您在任何容器主机上部署该集群。

鉴于两个系统之间的相似之处,我正在努力理解这两者之间的差异。

为什么我会select一个呢? 他们是相互排斥的系统,还是我可以在kubernetes运行组成。

在devise集装箱系统时是否有任何关键的考虑因素需要考虑? 如果我现在正在为一个站点devise架构,并想尝试构build一个基于容器的系统。 什么是我应该devise的最高优先级的东西? (与在单个机器系统上构build相比)

docker compose只是一种声明你必须启动容器的方法: 它没有节点或集群的概念 ,除非它启动了swarm master和swarm节点,但是这是docker swarm
2016年7月更新,7个月后:docker工1.12模糊线路,并包含“群模式” 。

它与kubernetes有很大的不同, kubernetes是一个谷歌工具,可以pipe理数千个容器组,像Pod, 数十台或数百台机器一样。

一个Kubernetes Pod将离docker群更近 :

想象一下单个Docker容器作为包装盒。 由于需要到相同的位置或彼此有亲和力,需要保持在一起的盒子被装入运输容器。
在这个比喻中,包装盒是Docker容器,运输容器是Kubernetes Pod。

正如以下由ealeon 评论 :

我认为pod等同于编写,除了kubernetes可以编排豆荚,而没有任何编排组成,除非像你提到的那样使用它。

顺便说一下,你可以用docker-compose启动kubernetes命令 。

http://3.bp.blogspot.com/-MDUsXIy-lt0/VMuhJ9jBefI/AAAAAAAAA0I/qPuy0N8UXWA/s1600/Screen%2BShot%2B2015-01-30%2Bat%2B7.19.27%2BAM.png

就Kubernetes与其他容器pipe理系统(如Swarm)的区别而言,Kubernetes是Google开发的第三个集群pipe理器迭代。

您可以在Google Cloud Platform Podcast的第3集中了解更多有关kubernetes的信息。

虽然两者都可以创build多容器应用程序,但Pod还可以作为部署和水平缩放/复制的单元,Docker组合不提供。
此外,您不直接创build一个窗格,而是使用控制器(如复制控制器)。

POD存在于提供协同定位(共同调度),命运共享,协调复制,资源共享和依赖pipe理的较大平台中。
Docker-compose生命…自己docker-compose.yml文件