有了新的功能强大、简单易用的Swarm mode集群,基本就不需要老的Docker Swarm主机集群了。两个概念一定要区分开!否则会给Docker中的 Swarm mode 的使用造成麻烦。不能把这两个概念混为一谈:使用Docker machine create 命令自带的--swarm --swarm-master参数创建了一个Docker Swarm 集群,却想使用只有Swarm mode 才支持的swarm、node、service 等子命令,肯定会报错。
老的Docker Swarm使用独立的外部KV存储(比如Consul、etcd、zookeeper),搭建独立运行的Docker主机集群,用户像操作单台Docker 机器一样操作整个集群,Docker Swarm把多台Docker主机当做一台Docker主机来管理。在docker 1.12版之前,只有搭建Docker Swarm集群,没有Swarm mode之说,结合machine和compose来操作所有Docker机器。这样的集群也是可以正常运行的,没有任何问题。
新的Swarm mode 是在docker 1.12版本中集成到 Docker 引擎中的,引入服务的概念,提供了