You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启动Docker后无法访问本地/内网 报No route to host如何解决

只要启动Docker,就无法再访问本地/内部网络,网络访问时提示No route to host错误,相关故障情况见如下截图:
故障截图

故障原因

Docker启动时会自动创建docker0虚拟网桥,默认自动分配的私网网段如果和本地/内部网络使用的网段冲突,会修改系统路由表规则,将原本发往内网的流量转发到Docker虚拟网桥,导致网络不通。

排查确认
  • 执行systemctl stop docker停止Docker服务,测试内网访问是否恢复,排除其他网络配置故障
  • 记录本地内网实际使用的网段(常见私网段为10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)
  • 启动Docker后执行route -n或ip route查看路由表,能看到冲突网段的下一跳指向了docker0接口
修复步骤
  1. 编辑Docker守护进程配置文件,文件不存在则直接新建:
    vi /etc/docker/daemon.json
  2. 写入以下配置,将bip和地址池网段替换为和你现有内网完全不冲突的私网段:
{
  "bip": "172.20.0.1/16",
  "default-address-pools": [
    {
      "base": "172.21.0.0/16",
      "size": 24
    }
  ]
}
  1. 保存配置后重载系统服务、重启Docker生效:
    systemctl daemon-reload && systemctl restart docker
  2. 再次查看路由表,确认内网网段路由不再指向docker0接口,测试内网访问恢复正常。

注意:如果之前创建过自定义Docker网络,需要删除占用冲突网段的自定义网络后重建,否则旧网络的路由规则依然会导致冲突。

内容的提问来源于stack exchange,提问作者stloc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 05:03:20