swarm network管理命令

#创建一个外部网络
docker network create -d overlay ngx_network
docker network create --driver overlay --subnet 10.11.0.0/16 --attachable  net00
docker network create --driver overlay --subnet 10.20.0.0/16 net0
docker network create --driver overlay --subnet 10.21.0.0/16 net1
docker network create --driver overlay --subnet 10.22.0.0/16 net2
docker network create --driver overlay --subnet 10.23.0.0/16 net3
docker network create --driver overlay --subnet 10.24.0.0/16 net4
docker network create --driver overlay --subnet 10.25.0.0/16 net5

docker network create --driver overlay --subnet 10.20.0.0/16 --opt encrypted  --attachable test
  • 内部
#nginx-global使用,每个主机也可以用
docker network create --driver overlay --subnet 10.101.0.0/16 --attachable  net00
docker network create --driver overlay --subnet 10.110.0.0/16 net0
#其它web-api
docker network create --driver overlay --subnet 10.111.0.0/16 net1
#其它数据库,redis,mongo,rabbit
docker network create --driver overlay --subnet 10.112.0.0/16 net2

参数说明:

  • —attachable
    默认情况下使用docker network create -d overlay NET 创建的网络只能被swarm service使用,如果需要被独立的容器使用,需要添加—attachable选项
  • —opt encrypted
    如果要加密应用数据,需要在创建 overlay 网络时添加 —opt encrypted。这会在 vxlan 层级开启 IPSEC 加密。这种加密技术会带来不可忽视的性能损失,因此应该在生产中使用该选项之前对其进行测试。

ingress

docker network create --driver overlay --subnet 11.11.0.0/16 ingress

查看网络

docker network ls --filter name=host
docker network ls --filter driver=overlay

释放不使用的网络

docker network prune

九、错误处理

  • 重新创建ingress地址:
docker network rm ingress   #Y
docker network create   -d overlay  --ingress --subnet=11.11.0.0/16 --gateway=10.11.0.1 ingress

docker network create   -d overlay  --ingress --subnet=11.11.0.0/16 --gateway=10.11.0.1 ingress  
--opt com.docker.network.mtu=1200   my-ingress