swarm集群操作

https://docs.docker.com/engine/reference/commandline/swarm_init/

#初始化集群:
docker swarm init
创建集群和管理节点
docker swarm init --advertise-addr 10.0.12.5

#指定ingress网络的
docker swarm init --advertise-addr 10.0.12.5 --default-addr-pool 10.10.0.0/16 --default-addr-pool-mask-length 24

—advertise-addr是广播地址,也就是其他节点加入该swarm集群时,需要访问的IP(多网卡时使用)
—default-addr-pool 网络地址池
—listen-addr参数是管理者节点的docker服务所在的IP:PORT,也就是说,可以通过这个组合访问到该节点的docker服务
—datapath-addr是数据域地址,服务容器之间的流量将通过—datapath-addr接口发送
—listen-addr指出的是这个集群暴露给外界调用的HTTP API的socket地址。

查看加入token

#查看加入管理节点token
docker swarm join-token manager  
#查看加入worker token
docker swarm join-token worker

退出集群

docker swarm leave
#退出集群:(节点离开集群当最后一个manager节点离开,则swarm集群自动删除)
docker swarm leave
#更新集群:
docker swarm update
  • 管理命令
docker pull swarm 
创建swarm manger:
docker swarm init
docker swarm init --advertise-addr 172.25.109.7
docker swarm init  --advertise-addr 192.168.110.150 --listen-addr 192.168.110.150 
docker swarm init  --advertise-addr 192.168.110.150 --listen-addr 192.168.110.150:2376
注意 windows下docker的wsl 问题
docker swarm init --advertise-addr eth0
docker swarm init --advertise-addr 0.0.0.0

服务更新

#更改服务数量
docker service scale ngx8=3
docker service rm ngx8 #删除服务