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命令 。
就Kubernetes与其他容器pipe理系统(如Swarm)的区别而言,Kubernetes是Google开发的第三个集群pipe理器迭代。
您可以在Google Cloud Platform Podcast的第3集中了解更多有关kubernetes的信息。
虽然两者都可以创build多容器应用程序,但Pod还可以作为部署和水平缩放/复制的单元,Docker组合不提供。
此外,您不直接创build一个窗格,而是使用控制器(如复制控制器)。
POD存在于提供协同定位(共同调度),命运共享,协调复制,资源共享和依赖pipe理的较大平台中。
Docker-compose生命…自己docker-compose.yml
文件