Docker容器网络桥接配置从零上手:创建、连接与避坑指南

桥接网络是什么?准备工作有哪些?

Docker 桥接网络(bridge)是容器的默认网络模式,每个容器通过虚拟网桥 docker0 与宿主机通信,同时也能互相访问。适用场景:单机多容器需要共享网络并实现互联(比如 Web 容器 + 数据库容器)。
动手前确保 Docker 已安装并运行,执行 docker network ls 能看到三个默认网络——bridge、host、none。
其中 bridge 就是默认桥接网络,但它不支持通过容器名直接通信,所以我们后面会创建自定义桥接。

创建自定义桥接网络

自定义桥接网络的核心优势:自带 DNS 解析,容器之间可以用容器名直接 ping 通,不用记 IP。
创建命令非常简单:

docker network create my-bridge

如果担心子网冲突,可以手动指定网段(比如内网常用 172.20.0.0/16):

docker network create --subnet=172.20.0.0/16 my-bridge

创建后用 docker network ls 确认新网络出现。

将容器接入桥接网络并实现互访

启动容器时直接指定网络:

docker run -d --name web1 --network my-bridge nginx
docker run -d --name web2 --network my-bridge nginx

两个容器都在 my-bridge 下。验证连通性:进入 web1 容器 ping web2:

docker exec -it web1 bash
ping web2

应该能收到响应。
如果容器已经启动,可以用 docker network connect 动态加入:

docker network connect my-bridge web1

注意:只有在自定义桥接网络下才支持容器名解析,默认 bridge 不行。

端口映射与外部访问配置

桥接模式下要让宿主机访问容器,必须做端口映射。
例如把宿主机的 8080 端口映射到 web1 容器的 80 端口:

docker run -d -p 8080:80 --name web1 --network my-bridge nginx

然后浏览器访问 宿主机IP:8080 就能看到 nginx 欢迎页。避坑:如果宿主机已有服务占用 8080,更换一个端口;
多个容器映射同一端口会冲突,必须使用不同宿主机端口。
自定义桥接网络不影响端口映射,两者可同时使用。

高频错误排查与验证

常见问题 1:容器间 ping 不通。

  • 确认两个容器在同一个自定义网络下(docker inspect 容器名 查看 Networks 字段)。
  • 不要用 IP 测试,用容器名。

常见问题 2:宿主机无法访问容器端口。

  • 检查容器是否加了 -p 参数,且映射端口未被占用。
  • 宿主机防火墙是否放开对应端口(如 firewall-cmd --add-port=8080/tcp)。

验证总结

  • 网络情况:docker network inspect my-bridge 查看已连接的容器列表。
  • 内部通信:进容器执行 curl http://web2,能返回网页说明容器间 http 通信正常。
  • 外部访问:浏览器或 curl 请求宿主机映射端口,收到响应即成功。

如果你正在处理 Docker容器网络桥接配置,建议先按本文步骤完整执行,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分,通常就是网络名写错、防火墙拦截或端口冲突。

分享到:
上一篇
Linux新硬盘扩容教程:手把手教你Linux新硬盘扩容
下一篇
零基础搞定服务器异地备份多副本:从命令到自动化
1
系统公告

泽御云五一特惠活动🔥

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