咱们须要:node
须要如下端口:nginx
TCP port 2377 for cluster management communicationsdocker
TCP and UDP port 7946 for communication among nodesvim
TCP and UDP port 4789 for overlay network trafficruby
在建立 Swarm 的同时,生成了管理节点 (manager)$ docker swarm init --advertise-addr <MANAGER-IP>

--advertise-addr
将管理节点的地址发布为:172.17.0.1.其余工做节点若是要连接过来,须要确保它们能访问管理节点。
查看 Swarm 的信息--advertise-addr
$ docker info
$ docker node ls
tcp
“*” 标识当前链接的节点spa
在 Manager node 所在的 host上面运行 CMDunix
$ docker swarm join-token worker
在 Worker node 所在的 host 上面 运行 CMDrest
$ docker swarm join \
--token SWMTKN-1-5navvuqvscrredmgo6x9ovsy5kbf81a5mzbmipydgfuelo0wg5-cjirzq0zm2eu5uvmi2u9p27je \
172.100.1.12:2377code
1. Docker监听远程端口实现远程调用API
$ vim /lib/systemd/system/docker.service
添加如下内容
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
从新Load而且重启Docker程序
$ systemctl daemon-reload
$ service docker restart
2. 解决docker info报错docker bridge-nf-call-iptables is disabled办法
$ vim /etc/sysctl.conf
添加以下内容
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-arptables = 1
3. 重启机器shutdow -r now