bridge网络本身不直接模拟复杂拓扑,但通过自定义bridge网络划分逻辑域(如front-net、api-net、data-net)、跨网段精准挂载、服务名dns解析及iptables管控,可构建分层隔离、最小权限、松耦合的单机微服务网络。

Bridge 网络本身不直接模拟“复杂拓扑”,但它提供了构建复杂单机微服务网络的底层能力——关键在于用好自定义桥接网络、多网段隔离和容器间通信规则。
用多个自定义 bridge 网络划分逻辑域
默认的 bridge 网络是扁平的,所有连入的容器都在同一个子网里,容易混杂。真正实现“拓扑感”的第一步,是按业务或层级拆分网络:
- 为前端服务创建独立网络:
docker network create --subnet 192.168.10.0/24 front-net - 为后端 API 创建另一个:
docker network create --subnet 192.168.20.0/24 api-net - 为数据库和缓存再建一个:
docker network create --subnet 192.168.30.0/24 data-net
这样就形成了三层结构:前端 → API → 数据层,每个层有自己网段,天然隔离广播域,也便于后续加防火墙策略。
让跨网段服务有限互通(非全通)
容器默认只能访问同网段服务。若需跨网段调用(比如前端要连 API),不能靠“全网打通”,而是精准挂载:
- API 服务同时接入
api-net和data-net,让它能查数据库 - 前端服务只接入
front-net和api-net,但不连data-net - 用
docker run --network front-net --network api-net启动前端容器
这样前端可通过 http://api-service:8080 访问 API,却无法直接 ping 或连 redis 容器——符合最小权限原则,也还原了真实微服务的依赖边界。
MiniMax 图片理解 + 网络搜索 MCP 工具。适配 Docker 环境(极空间等),支持图片 OCR 识别、图像内容理解、网络搜索。API Key 安全存储在本地 credentials 文件,不暴露在代码中。
复用服务名 + DNS 实现松耦合寻址
只要容器在同一个自定义 bridge 网络里,Docker 内置 DNS 就会把服务名解析成对应 IP。这是模拟服务发现的核心:
- 启动时用
--name api-gateway显式命名容器 - 其他容器在相同网络中,直接用
curl http://api-gateway:8000/health - 无需硬编码 IP,也不依赖外部注册中心,适合本地开发与测试
配合 docker-compose,服务名就是 service 块的 key,自动生效,非常轻量。
补充网络行为控制(可选进阶)
Bridge 网络本身不提供 ACL,但可结合宿主机 iptables 或容器内工具做细粒度管控:
- 在宿主机上限制某网段仅允许访问特定端口:
iptables -A FORWARD -s 192.168.10.0/24 -d 192.168.20.0/24 -p tcp --dport 8080 -j ACCEPT - 禁用某容器的外网访问(只允许内网通信):
docker run --network api-net --cap-drop=NET_ADMIN --sysctl net.ipv4.ip_forward=0 - 用
docker network inspect查看各网络的子网、网关、已连接容器,验证拓扑是否符合预期
这些操作不改变 bridge 本质,但能让单机环境更贴近生产中分层、受控的网络设计。










