假如你有3个linux 机器,分别安装了docker 引擎
- 首先用 docker swarm init --advertise-addr 这个命令初始化swarm模式
docker swarm init --advertise-addr 192.168.233.131
下面返回的信息很重要
上面截图的意思单词的意思是 :
1)他告诉我们当前节点是个管理者
2)要想其他节点加入这个swarm 要执行下面命令行
那我们就按他说的在其他节点上操作一下就行了
3)如果还想添加管理者,可以执行第3句,—我们这里不要添加管理了,就一个管理实验就行,我们添加节点玩玩
–要确包防火墙允许访问端口
2377/tcp:集群管理通信
7946/tcp、7946/udp:集群中各节点之间的通信
4789/udp:overlay网络使用
firewall-cmd --zone=public --add-port=2377/tcp --permanent
firewall-cmd --zone=public --add-port=7946/tcp --permanent
firewall-cmd --zone=public --add-port=7946/udp --permanent
firewall-cmd --zone=public --add-port=4789/udp --permanent
2在另外的linux主机上的docker引擎中操作下面命令
我们把第2句复制到 128 linux 主机执行
docker swarm join --token SWMTKN-1-5oumwzkmc4mwvoro4nn5r3bxbn2q61ww36q5lxtt06m2xqpmly-108r3mszyzbfo2d71x0n5anou 192.168.233.131:2377
–返回下面添加成功节点
验证:在管理机131 上验证一下命令,
docker node list
—操作很简单,理论也不难,就是将很多docker引擎,连接到管理者上,那为什么要这样,因为真实生产环境有很多主机节点,你像某银行的 电话营销项目,就有300多台机器,你不可能一个个登录去管理,用容器编排技术,在管理节点就可以管理其他节点的了。
管理只是一个方面,最重要的是为了HA(高可用),我将自动化部署,或者动态流量监控,我可以通过脚本边编程,在管理节点动态 拉取镜像,运行节点,当你高峰流量的时候,我可以自动create docker 容器,为大流量提共更多的节点服务,但流量过后,我也可以监控到,在次撤掉该服务的docker 容器节点。释放资源,给需要他的项目。
简单理解动态服务编排就是,我只有一水杯,但有2个人,怎么办,那就可以我喝水的时候,你干活,你干活的时候我喝水,一个杯子的钱,2个人都有水喝,说白了 云服务就是流氓一样,不想花钱多买机器,又想多服务节点
第二部分,实践安装docker图形的工具 portainer
执行运行命令
docker run -d -p 8000:8000 -p 9443:9443 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data --name sulq-portainer --privileged=true --restart=always portainer/portainer-ce:latest
安装好后,访问端口9443

我在管理节点,对swarm 安装agent代理的时候,work 节点一直安装失败,检查发现是/etc/daem.json 镜像访问问题
当我不停机,继续实验的时候,可见他也能继续安装一个个节点安装,就算work节点开始时候,不成功,但swarm集群也可以将成功的安装好,等work节点调节好后,也可以继续安装完成