docker compose up -d 出现以下错误提示:

failed to create network xxx_default: Error response from daemon: invalid pool request: Pool overlaps with other one on this address space

compose.yaml 的网络部分是这样定义的

networks:
  default:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: 172.99.215.0/24
  aaa:
    driver: bridge
  bbb:
    driver: bridge
  ccc:
    driver: bridge
  ddd:
    driver: bridge
    internal: true

解决 Docker 网络冲突问题

compose.yaml 文件中配置的自定义子网与系统上其他网络的地址池重叠时,会出现网络冲突错误。可以通过以下步骤解决问题:

1. 检查现有网络

首先,列出所有现有的 Docker 网络,检查是否有网络使用了相同的子网:

docker network inspect $(docker network ls -q) | grep Subnet

这将列出每个网络的子网,查找与 172.99.215.0/24 重叠的子网。

2. 修改子网

如果发现有冲突的子网,可以在 docker-compose.yml 中更改 default 网络的子网。例如:


networks:
  default:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: 172.50.0.0/24  # 改为不同的子网
  aaa:
    driver: bridge
  bbb:
    driver: bridge
  ccc:
    driver: bridge
  ddd:
    driver: bridge
    internal: true

3. 删除冲突网络

如果你找到了与 xxx_default 网络冲突的网络,可以删除它:

docker network rm <conflicting_network_name>

4. 重新启动服务

在修改或删除网络后,重新启动 Mailu 服务:


docker-compose down
docker-compose up -d

通过这些步骤,应该能够解决 IP 地址池重叠的问题。