生产环境推荐使用自定义桥接网络而非默认bridge:它支持容器名自动解析、更强网络隔离,并可灵活配置子网与网关;创建命令为docker network create --driver bridge --subnet 192.168.10.0/24 --gateway 192.168.10.1 my-bridge,容器通过--network接入后即可通过名称互通。

直接用 Docker 自带的默认 bridge 网络就能让同主机容器互通,但生产环境更推荐创建自定义桥接网络——它支持容器名自动解析、网络隔离更强、还能灵活配置子网和网关。
查看并确认现有网络
运行命令查看当前可用网络:
docker network ls
你会看到默认的 bridge、host 和 none。注意:默认 bridge 不支持容器名互 ping,仅靠 IP 通信;而自定义桥接网络天然支持 DNS 解析。
创建自定义桥接网络
执行以下命令创建一个带子网和网关的自定义网络(例如 my-bridge):
docker network create --driver bridge --subnet 192.168.10.0/24 --gateway 192.168.10.1 my-bridge
- --driver bridge 明确指定使用桥接驱动(可省略,默认即 bridge)
- --subnet 定义容器 IP 分配范围,避免与宿主机或其他网络冲突
- --gateway 指定该网络的默认网关地址(通常为子网首个可用 IP)
启动容器并接入网络
运行容器时通过 --network 参数指定接入刚创建的网络:
docker run -d --name app1 --network my-bridge nginxdocker run -d --name app2 --network my-bridge nginx
此时两个容器处于同一网络内,可直接通过容器名通信:
docker exec -it app1 ping app2 —— 会成功解析并连通curl http://app2 —— 在 app1 内即可访问 app2 的服务
动态连接已有容器(可选)
如果已有容器在其他网络(比如默认 bridge),也可临时加入自定义网络:
docker network connect my-bridge existing-container
该操作无需重启容器,立即生效。退出网络则用:docker network disconnect my-bridge existing-container


















