三大容器编排工具
Docker-Compose
Docker-Compose 是用来管理你的容器的,有点像一个容器的管家,想象一下当你的Docker中有成百上千的容器需要启动,如果一个一个的启动那得多费时间。有了Docker-Compose你只需要编写一个文件,在这个文件里面声明好要启动的容器,配置一些参数,执行一下这个文件,Docker就会按照你声明的配置去把所有的容器启动起来,但是Docker-Compose只能管理当前主机上的Docker,也就是说不能去启动其他主机上的Docker容器
Docker Swarm
Docker Swarm则是由Docker 公司自行研发的一款用来管理多主机上的Docker容器的工具,可以负责帮你启动容器,监控容器状态,如果容器的状态不正常它会帮你重新帮你启动一个新的容器,来提供服务,同时也提供服务之间的负载均衡,而这些东西Docker-Compose 是做不到的。Swarm现在与Docker Engine完全集成,并使用标准API和网络。Swarm模式内置于Docker CLI中,无需额外安装,并且易于获取新的Swarm命令。
Kubernetes
Kubernetes它本身的角色定位是和Docker Swarm 是一样的,也就是说他们负责的工作在容器领域来说是相同的部分,当然也有自己一些不一样的特点。这个就像是Eclipse和IDEA一样,也是一个跨主机的容器管理平台。Kubernetes正在成为容器编排领域的领导者,由于其可配置性,可靠性和大型社区的支持,从而超越了Docker Swarm。Kubernetes由Google创建,作为一个开源项目,与整个Google云平台协调工作。此外,它几乎适用于任何基础设施。
集群包括几个主要组件:
Pod:在同一节点上一起创建,调度和部署的一个或多个容器的组。
标签:分配用于标识窗格,服务和复制控制器的键值标签(即名称)。
服务:服务为一组pod提供名称,充当负载均衡以将流量定向到正在运行的容器。
复制控制器(Replication controllers):一个框架,负责确保在任何给定时间安排和运行特定数量的pod复制副本。
简而言之
Docker Compose是一个基于Docker的单主机容器编排工具,功能并不像Docker Swarm和Kubernetes是基于Dcoker的跨主机的容器管理平台那么丰富。