Docker 容器网络不通?教你快速排查

先检查宿主机基础网络环境

排查Docker容器网络问题之前,先确保宿主机本身能正常联网。
在终端执行 ping -c 4 8.8.8.8ping -c 4 www.baidu.com,确认网络连通性。
如果宿主机都ping不通外网,那容器自然无法访问外部资源。
接着检查防火墙规则:对于使用iptables的系统,执行 sudo iptables -L -n 查看是否有规则阻断了Docker网桥(默认是docker0)的流量。
对于firewalld,执行 sudo firewall-cmd --list-all 确认docker服务是否被允许。
如果是云服务器,还要检查安全组是否放行了容器需要使用的端口。

三步定位:从容器内部到外部

第一步:检查容器自身网络配置
进入容器:docker exec -it <容器名或ID> /bin/bash,然后执行 ip addrifconfig(容器内可能没有ip命令,可用cat /etc/hosts查看主机映射)。
确认容器有IP地址,默认通常为172.17.0.x网段。
再执行 ping 8.8.8.8 测试容器对外访问能力。

第二步:检查容器间通信
假设有两个容器A和B,在容器A内 ping B的IP地址
如果不通,检查它们是否在同一个自定义网络里。
Docker默认使用桥接网络,但容器默认只能通过IP互通,通过容器名互通需要自定义网络。
执行 docker network ls 查看已有网络,再用 docker network inspect bridge(或自定义网络名)查看连接了哪些容器。
如果两个容器不在同一个网络,需要将它们加入同一网络:docker network connect mynetwork containerA

第三步:检查宿主机与容器通信
在宿主机上 ping 容器IP,如果通但容器内无法访问宿主机IP(如172.17.0.1),可能是iptables规则问题。
执行 sudo iptables -t nat -L -n | grep 172.17.0.0,看是否有MASQUERADE规则。
没有的话,需要重启Docker服务或手动添加规则:sudo iptables -t nat -A POSTROUTING -s 172.17.0.0/16 !
-o docker0 -j MASQUERADE

高频问题:容器端口映射不生效

很多新手遇到“容器启动了但外部无法访问”的问题。
首先确认启动参数是否包含 -p 宿主机端口:容器端口,例如 -p 8080:80
然后执行 docker port <容器名> 查看实际映射情况。
接着检查宿主机防火墙是否拦截了该宿主机端口:sudo netstat -tulpn | grep 8080,如果看到docker-proxy在监听,说明映射正常。
若还是不通,尝试关闭防火墙测试:sudo systemctl stop firewalld(临时),如果通了再配置白名单。

避坑说明:别踩这些雷

  • 不要直接修改/etc/docker/daemon.json中的bip参数,除非明确知道后果,改错会导致整个Docker网络不可用。
  • 使用自定义网络时记得指定--subnet--gateway,否则Docker会自动分配可能导致IP冲突。
  • 容器内不要擅自修改/etc/resolv.conf,Docker的DNS配置通过--dns参数指定,修改后容器重启会还原。
  • systemctl restart docker会重启所有运行中的容器,非必要不要执行。如果必须重启,先docker-compose downup更安全。

效果验证:真正打通网络

完成以上排查后,做一次完整验证:从宿主机 curl http://容器IP:端口 得到业务响应;
从另一个容器访问本容器的服务名(需在同一自定义网络);
从外部网络(如手机连Wi-Fi)访问宿主机公网IP+映射端口。
同时观察容器日志:docker logs <容器ID>,如果出现“connection refused”通常是服务未启动或端口错误。
最后,清理测试用的临时容器和网络,保持环境整洁。

如果你正在处理Docker容器网络不通的问题,建议先按本文步骤完整执行,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分。
掌握这套排查逻辑后,大部分网络故障都能在10分钟内解决。

分享到:
上一篇
用 AI 写运维文档,被老板说抄袭怎么办?
下一篇
服务器被植入挖矿进程,CPU 占用 100%
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意