生产环境推荐使用自定义桥接网络实现容器互通;它支持容器名解析、网络隔离更好,并可按需划分子网,而默认bridge网络仅支持ip通信。

直接用默认 bridge 网络能让容器互通,但只能靠 IP,不能用名字访问,也不易管理。生产环境推荐配置自定义桥接网络——它天然支持容器名解析、网络隔离更好,还能按需划分子网。
查看并确认当前网络
先运行命令看已有网络:
docker network ls
你会看到 bridge、host、none 等。注意:默认 bridge 不支持容器名互 ping,只支持 IP 通信;而自定义桥接网络自带 DNS 解析能力。
创建带子网和网关的自定义网络
执行命令创建一个可管理的桥接网络,例如:
docker network create --driver bridge --subnet 192.168.10.0/24 --gateway 192.168.10.1 my-bridge
- --subnet:指定容器分配的 IP 范围,避免与宿主机或其他网络冲突
-
--gateway:设为子网内首个可用地址(如
192.168.10.1),作为该网络的默认出口 - my-bridge:自定义网络名称,后续用于容器接入
启动容器并加入同一网络
运行容器时用 --network 指定刚创建的网络:
docker run -d --name app1 --network my-bridge nginxdocker run -d --name app2 --network my-bridge alpine sleep 3600
此时两个容器在同一个逻辑网络中,可直接通过名字通信:
docker exec -it app1 ping app2 → 成功解析并通docker exec -it app1 curl http://app2 → 可正常访问服务
动态连接已有容器(无需重启)
如果已有容器运行在其他网络(比如默认 bridge),也能实时加入:
docker network connect my-bridge existing-container
断开则用:
docker network disconnect my-bridge existing-container
这个操作即时生效,不影响容器运行。











