现象:新增域名无法访问服务
查看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