首页/云/Docker 容器速查/compose 网络的 internal 与 external
Compose 编排55 条

compose 网络的 internal 与 external

网络声明上的两个特殊开关:internal 让该网络无外网出口;external 复用项目外已存在的网络,不进项目生命周期管理。

Docker 容器速查云更新于 2026-10-12
internal: true隔离外网出口,仅内部互通
external: true引用已有网络(可加 name 指定)
适用数据库隔离、跨项目共享网络

示例

示例
services:
  db:
    image: postgres:16-alpine
    networks: [backend]
  api:
    image: app/api:1.4.2
    networks: [backend, shared]

networks:
  backend:
    internal: true
  shared:
    external: true
    name: team-shared-net
internal 网络里的服务无法直接访问外网;需要拉依赖、发外部请求的服务不要只挂这一张网。

易错点

  • external 网络不存在时 up 直接失败,先按 name 建好网络再启动
  • internal 网络的服务漏配第二条网络时表现为外联全超时,网络字段要整体检查

数据来源与参考

  • Docker 官方文档:Compose networks 的 internal/external(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌