现象:新增域名无法访问服务
查看docker默认网段是否与已有的冲突

ip addr

解决方法:

[root@office-product-demo ~]# docker network ls
NETWORK ID     NAME                    DRIVER    SCOPE
c108540338e4   bridge                  bridge    local
f0d74c44942b   elasticsearch_default   bridge    local
4bfa203bad08   host                    host      local
95424f20706f   iflydocs_default        bridge    local
a6a5c80f5937   minio_default           bridge    local
05ebb32721e8   mongodb_default         bridge    local
ce5b3981143b   mysql_default           bridge    local
3d5f9466aa08   none                    null      local
3a061cb6bf66   onlyoffice_default      bridge    local
d624e16abb9d   redis_default           bridge    local
62bcaf18bc3e   rmq                     bridge    local
1c390ed9ff6f   rocketmq_default        bridge    local
[root@office-product-demo ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    0      0        0 eth0
10.100.234.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
link-local      0.0.0.0         255.255.0.0     U     1002   0        0 eth0
172.20.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-1c390ed9ff6f
172.21.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-62bcaf18bc3e
172.23.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-f0d74c44942b
172.24.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-ce5b3981143b
172.25.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-05ebb32721e8
172.27.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-3a061cb6bf66
192.169.0.0     0.0.0.0         255.255.255.0   U     0      0        0 docker0
192.169.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br-a6a5c80f5937
192.169.2.0     0.0.0.0         255.255.255.0   U     0      0        0 br-95424f20706f

查看网络和路由
docker network ls
其中br开头的是docker容器占用的网络
route
查看冲突的网段,找到对应的networkID

如果容器还在运行,会有错误提示,先关闭对应容器
docker stop 容器id
docker rm 容器id
删除对应网络
docker network rm 05ebb32721e8

配置docker使用网段

vi /etc/docker/daemon.json

{
  "debug" : true,
  "default-address-pools" : [
    {
      "base" : "192.169.0.0/16",
      "size" : 24
    }
  ]
}

保存,重启docker服务
systemctl restart docker

新建容器
docker-compose up -d

再次查看容器对应网段
route

方法二:指定网段创建网络

创建网络

docker network create --driver=bridge --subnet=192.169.0.0/24 docsmaster

在docker-compose.yml中指定容器使用网络
与services同层级

networks:
  default:
    external:
      name: docsmaster