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 地址池重叠的问题。