【Docker 容器网络与本地网络冲突,导致无法连接服务器】
1、查看本地路由
pc:~$ ip route 查看本地路由,确认冲突网络
172.25.0.0/16 dev br-ce9d5ebabd41 proto kernel scope link src 172.25.0.1
172.26.0.0/16 dev br-ec81b8882e8d proto kernel scope link src 172.26.0.1 linkdown
172.29.0.0/16 dev br-f7ceae3419bb proto kernel scope link src 172.29.0.1
192.168.0.0/20 dev br-11ea30af8617 proto kernel scope link src 192.168.0.1
192.168.16.0/20 dev br-33f008111edb proto kernel scope link src 192.168.16.1 linkdown
192.168.192.0/24 dev eno1 proto kernel scope link src 192.168.192.100
查看 br-11ea30af8617网卡详细信息,确认容器名称
-pc:~$ docker inspect 11ea30af8617
[
{
“Name”: “scripts_default”,
“Id”: “11ea30af861735f61b9b9748aa2c325189917555d78211deab23625a35f68559”,
“Created”: “2025-10-04T06:39:19.941313219+08:00”,
“Scope”: “local”,
“Driver”: “bridge”,
“EnableIPv6”: false,
“IPAM”: {
“Driver”: “default”,
“Options”: null,
“Config”: [
{
“Subnet”: “192.168.0.0/20”,
“Gateway”: “192.168.0.1”
}
]
},
“Internal”: false,
“Attachable”: false,
“Ingress”: false,
“ConfigFrom”: {
“Network”: “”
},
“ConfigOnly”: false,
“Containers”: {
“e36535deff9fa3d485e9860d3c7cb1ac3632d1ae8e02191b76377b93746eb651”: {
“Name”: “server-1003”,
“EndpointID”: “2a38dc2d5c3e955aef63bc941f7802ff67c68928e6ee7d11085b493ac432980d”,
“MacAddress”: “02:42:c0:a8:00:02”,
“IPv4Address”: “192.168.0.2/20”,
“IPv6Address”: “”
}
},
“Options”: {},
“Labels”: {
“com.docker.compose.config-hash”: “cc8e65ae3bdd4bf249875471a8804b716ec9925e8b8b6f7450e1a4a9d3604276”,
“com.docker.compose.network”: “default”,
“com.docker.compose.project”: “scripts”,
“com.docker.compose.version”: “2.38.2”
}
} ]
确认容器
pc:~$ docker ps |grep server-1003
方法一、
1、删除容器
-pc:~$ docker rm -f 容器ID
2、删除容器网卡
-pc:-$ docker network rm 网卡ID
方法二、
创建容器网卡,配置子网(遵循最小网段)
docker network create --driver bridge --subnet=192.168.1.0/24 --gateway=192.168.1.1 my_network
例如:
sudo docker network create --driver bridge --subnet=192.168.100.0/24 --gateway=192.168.100.1 network-local d69df2a7987940774ab60922c9441c8356945645108e429b065ce19961b3abb9
查看容器网络
sudo docker network lsNETWORK ID NAME DRIVER SCOPE
edce8d89b518 bridge bridge local
26b2915f3907 host host local
d69df2a79879 network-local bridge local
49fe4ba65ea4 none null local
查看新建网卡信息
test@host112:~$ sudo docker inspect nginx-local|grep Network
"NetworkMode": "bridge", "NetworkSettings": { "Networks": { "NetworkID": "edce8d89b518d8f462ad0e0baa6e4fcdcf341753d081c1e1e2a3b3c313456bf2",
将容器加入到新网络
test@host112:~$ sudo docker network connect network-local nginx-local
查看容器现有网络
test@host112:~$ sudo docker inspect nginx-local|grep Network
“NetworkMode”: “bridge”,
“NetworkSettings”: {
“Networks”: {
“NetworkID”: “edce8d89b518d8f462ad0e0baa6e4fcdcf341753d081c1e1e2a3b3c313456bf2”,
“NetworkID”: “d69df2a7987940774ab60922c9441c8356945645108e429b065ce19961b3abb9”,
将容器从网络中移除
test@host112:~$ sudo docker network disconnect bridge nginx-local
查看容器现有网络
test@host112:~$ sudo docker inspect nginx-local|grep Network
"NetworkMode": "bridge", "NetworkSettings": { "Networks": { "NetworkID": "d69df2a7987940774ab60922c9441c8356945645108e429b065ce19961b3abb9",
删除冲突网卡
docker network rm 网卡ID










