说明:
昨天,写了一篇《Docker Swarm 集群创建+Portainer 图形化管理实验》博客,地址为:http://blog.csdn.net/csdn_duomaomao/article/details/73381277 主要是通过手工实现的,解决 了Docker 初学者创建Swarm遇到的麻烦问题,但毕竟是手工的方式,今天父亲节,刚好在家有空,整了一篇自动创建的脚本,希望对大家学习Docker有帮助。
脚本:
# 初始设置M台管理节点,W台工作节点,其中manager1是leader节点.
M=3
W=2
# 创建M台Docker虚拟机,作为管理节点
for i in $(seq 1 $M)
do
docker-machine create \
--driver virtualbox \
--engine-registry-mirror=https://registry.docker-cn.com \
manager$i
done
#创建W台Docker虚拟机,作为工作节点
for j in $(seq 1 $W)
do
docker-machine create \
--driver virtualbox \
--engine-registry-mirror=https://registry.docker-cn.com \
worker$j
done
#切换 manager1 上,创建 Swarm 集群
eval $(docker-machine env manager1)
docker swarm init --advertise-addr $(docker-machine ip manager1):2377
# 获取两个令牌变量
# 切换到主控节点
eval $(docker-machine env manager1)
#显示管理节点加入集群的信息,截取其中的令牌作为变量,便于后面使用
T1=`docker swarm join-token manager|grep token`
TM=${T1:12:85}
#显示工作节点加入集群的信息,截取其中的令牌作为变量,便于后面使用
T2=`docker swarm join-token worker|grep token`
TW=${T2:12:85}
# 两个令牌TM、TW变量获取完毕
# 通过循环命令,把其他的控制节点都加入到集群中
for