注意:
docker在版本1.12之后,已经将swarm的部分集成在docker里面了,所以也就不需要依赖第三方的东西了。
所以如果不是为了有趣了解一下的话,请直接转到本系列的第三篇开始=》搭建Docker Swarm集群实战(三)(swarm mode)
个人建立的Docker爱好者交流QQ群:472149402,欢迎大家来此交流经验和问题,一起成长。
架构图
- consul服务(1号机上)
- 1个swarm的master(2号机上)
- 2个swarm的node(3号机,4号机上)
1,2,3,4号机都是一个局域网LAN内部(原因是他们的eth1设备都和宿主机进行了virtual box的host-only)。
- 1号机在该网段内IP:192.168.99.101
- 2号机在该网段内IP:192.168.99.102
- 3号机在该网段内IP:192.168.99.103
- 4号机在该网段内IP:192.168.99.104
最后的效果图如下:
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
consul-machine - virtualbox Running tcp://192.168.99.101:2376 v17.09.0-ce
swarm-master - virtualbox Running tcp://192.168.99.102:2376 swarm-master (master) v17.09.0-ce
swarm-node-01 - virtualbox Running tcp://192.168.99.103:2376 swarm-master v17.09.0-ce
swarm-node-02 - virtualbox Running tcp://192.168.99.104:2376 swarm-master v17.09.0-ce
贴一个官方的架构图,我的只是演示这个架构的一小部分。
开始操作
创建2号机以及把2号机的docker host设置为swarm master
docker-machine create -d virtualbox --swarm --swarm-master --swarm-discovery="consul://$(docker-machine ip consul-machine):8500" --engine-opt=