关掉管理节点防火墙
[root@analysishost1 ~]# systemctl stop firewalld.service
管理节点初始化swarm集群
AnalysisHost1 192.168.9.188|198.9.6.188运行 docker swarm init 命令,初始化swarm集群,有加入管理节点和工作节点的命令
[root@analysishost1 ~]# docker swarm init
Error response from daemon: could not choose an IP address to advertise since this system has multiple addresses on interface ens160 (198.9.6.188 and 192.168.9.188) - specify one with --advertise-addr
如果网卡绑定多个IP请指定IP地址
[root@analysishost1 ~]# docker swarm init --advertise-addr 192.168.9.188
--advertise-addr 标志配置了管理节点的 IP 地址。如果你的机器只有一个 IP 地址,可以省略--adbertise-addr选项,docker 会自动选择正确的 IP
查询怎样加入新的管理节点
[root@analysishost1 tomcat]# docker swarm join-token manager
在管理节点上查看join-token:
[root@jetsencentos1 log]# docker swarm join-token worker
管理节点创建网络
[root@analysishost1 ~]# docker network create --driver overlay jetsen-network
ld7pufxr3t9j7qxoi12gl03w5
[root@analysishost1 ~]# docker network ls
工作节点上修改
ExecStart=/usr/bin/dockerd --label=function=jetsen2 --label=host=analysishost2 --registry-mirror=http://aad0405c.m.daocloud.io
--label=function=jetsen2 指定docker标签,docker compose.yml文件中会引用,来确定容器的生成位置
--label=host=analysishost2 指定宿主机的主机名
--registry-mirror=http://aad0405c.m.daocloud.io 指定国内私有镜像仓库
重启docker
[root@analysishost2 ~]# systemctl stop docker
Warning: docker.service changed on disk. Run 'systemctl daemon-reload' to reload units.
[root@analysishost2 ~]# systemctl daemon-reload
[root@analysishost2 ~]# systemctl start docker
工作节点上加入集群
[root@analysishost2 ~]# docker swarm join –token
SWMTKN-1-288smm0h2g40fg46kzccwbj0k3bqxkizsu8ppaqnw83l7jq61y-6y538bc375fpxlkelek4kc8yw 192.168.9.188:2377
This node joined a swarm as a worker.
加入之后查看工作节点的network状态变为
在管理节点上查看docker swarm状态
在工作节点上查看状态
提升管理节点
[root@jetsen-detail-04 ~]# docker node promote sumemei1pmjl47rx73zic3gfg
Node sumemei1pmjl47rx73zic3gfg promoted to a manager in the swarm.
[root@jetsen-detail-04 ~]# docker node ls