docker swarm init运行完成以后,可以看到的返回结果下图所示。

这个返回结果中,给出了一条命令:
docker swarm join –token SWMTKN-1-0hqsajb64iynkg8ocp8uruktii5esuo4qiaxmqw2pddnkls9av-dfj7nf1x3vr5qcj4cqiusu4pv 45.77.138.242:2377
这条命令需要在每一个从节点(Slave)中执行。现在先把这个命令记录下来。
初始化完成以后,得到一个只有1台服务器的Docker 集群。执行如下命令:
docker node ls可以看到当前这个集群的状态,如下图所示。

创建私有源(可选)
创建私有源并不是一个必需的操作。之所以需要私有源,是因为项目的Docker镜像可能会涉及到公司机密,不能上传到DockerHub这种公共平台。如果你的镜像可以公开上传DockerHub,或者你已经有一个可以用的私有镜像源,那么你可以直接使用它们,跳过本小节和下一小节。
私有源本身也是一个Docker的镜像,先将拉取下来:
docker pull registry:latest如下图所示。

现在启动私有源:
docker run -d -p 8003:5000 –name registry -v /tmp/registry:/tmp/registry docker.io/registry:latest
如下图所示。

在启动命令中,设置了对外开放的端口为8003端口,所以私有源的地址为:45.77.138.242:8003
提示:
这样搭建的私有源是HTTP方式,并且没有权限验证机制,所以如果对公网开放,你需要再使用防火墙做一下IP白名单,从而保证数据的安全。
允许docker使用可信任的http私有源(可选)
如果你使用上面一个小节的命令搭建了自己的私有源,由于Docker默认是不允许使用HTTP方式的私有源的,因此你需要配置Docker,让Docker信任它。
使用下面命令配置Docker:
echo '{ "insecure-registries":["45.77.138.242:8003"] }' >> /etc/docker/daemon.json然后使用下面这个命令重启docker。
systemctl restart docker如下图所示。

重启完成以后,Manager节点就配置好了。
创建子节点初始化脚本
对于Slave服务器来说,只需要做三件事情:
安装Docker
加入集群
信任源
从此以后,剩下的事情全部交给Docker Swarm自己管理,你再也不用SSH登录这个服务器了。










