必须打开的端口

TCP端口2377,用于集群管理信息的交流
TCP、UDP端口7946用于集群中节点的交流
UDP端口4789用于overlay网络中数据报的发送与接收
#防火墙默认使用的是iptables
  • firewalld 操作命令
firewall-cmd --permanent --add-port=8000-10000/tcp 
firewall-cmd --permanent --add-port=2377/tcp 
firewall-cmd --permanent --add-port=7946/tcp 
firewall-cmd --permanent --add-port=4789/udp 
firewall-cmd --permanent --add-port=7946/udp 

sudo  firewall-cmd --reload
sudo systemctl restart firewalld
firewall-cmd --list-ports

操作方式一

docker network create --driver overlay swm1
docker network create --subnet=10.5.0.0/16 -d overlay swm1
docker network create --subnet=192.168.212.0/24  --driver overlay swm1
#删除命令
docker network rm swm1
  • 部负载服务器使用swm1
docker service create --name my-ngx  --network swm1 --publish published=8001,target=80 --replicas=5 nginx:1.21.5-alpine
docker service ps my-ngx #查看
docker service inspect my-ngx #查看详情
docker service rm my-ngx #删除

操作方式二 deploy.yml

....
    networks:
      - net-nginx
networks:
  net-nginx:
    name: swm1 
    external: true

清理命令

docker network prune -f #清除没有使用的网卡 -f不提示
docker network rm swm1 #删除网卡

错误处理

  • Pool overlaps with other one
这是因为目标网卡网段已经存在的原因
docker network rm 网卡名  #删除冲突的docker网卡