You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Docker Compose创建bridge网络时遇“plugin bridge not found”错误求助

Docker网络创建故障分析与解决

故障信息

  • 系统环境:Ubuntu 20.04,Docker版本20.10.17(build 100c701)
  • 报错内容:Error response from daemon: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network
  • 涉及的docker-compose.yml配置:
version: "3.8"
services:
  db :
    build : ./database/
    ports :
      - 5432:5432
    volumes:
      - ./database/create_fixtures.sql:/docker-entrypoint-initdb.d/create_fixtures.sql
    networks:
        network:
              ipv4_address : 172.20.0.3
      
  pgadmin:
        image: dpage/pgadmin4
        environment:
            - PGADMIN_DEFAULT_EMAIL=admin@admin.com
            - PGADMIN_DEFAULT_PASSWORD=root
        ports:
            - "5050:80"
        networks:
            network:
              ipv4_address : 172.20.0.2

  app :
    build: ./app/
    networks:
        network:
    depends_on : 
      - db
networks:
  network:
    ipam:
      driver: bridge
      config:
        - subnet : "172.20.0.0/16"
          gateway: "172.20.0.1"

已尝试的无效操作

  • 重启Docker服务及电脑
  • 检查Docker网络插件(确认bridge插件正常)
  • 验证/etc/docker/daemon.json文件(文件不存在)

故障原因分析

这个报错的核心是你指定的子网172.20.0.0/16与Docker默认的网络地址池、或系统中已存在的其他网络(如VPN、虚拟机网络)发生了重叠,导致Docker无法分配不冲突的网络段。

解决方案

1. 检查并清理冲突的Docker网络

执行以下命令查看所有Docker网络:

docker network ls

对每个网络执行检查,确认是否占用172.20.0.0/16范围:

docker inspect <NETWORK_ID>

找到冲突的网络后,删除不再使用的网络:

docker network rm <NETWORK_ID>

2. 修改docker-compose.yml中的子网配置

将指定的子网换成不冲突的网段,比如缩小子网范围或更换基础网段:

networks:
  network:
    ipam:
      driver: bridge
      config:
        - subnet : "172.30.1.0/24"  # 更换为不冲突的子网
          gateway: "172.30.1.1"

同时对应修改services中的ipv4_address,比如172.30.1.2、172.30.1.3。

3. 配置Docker默认地址池避免全局冲突

如果频繁出现这类问题,可创建/etc/docker/daemon.json文件,指定Docker默认使用的地址池,避免与自定义子网冲突:

{
  "default-address-pools": [
    {"base": "172.31.0.0/16", "size": 24}
  ]
}

保存文件后重启Docker服务:

sudo systemctl restart docker

4. 检查系统其他网络占用

执行以下命令查看系统中所有网络接口的IP段,确认是否有其他服务(如VPN、VirtualBox等)占用172.20.0.0/16:

ip addr

如果发现冲突,停止对应的服务或调整其网络配置。

内容的提问来源于stack exchange,提问作者Flâyn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 06:25:26