【解决】could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network
在同一套环境中跑了很多个项目都是用 docker-compose的方式启动的,导致创建的自定义网络
过多出现下面的报错
Error response from daemon: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network
查看自定义网络
[root@lyj ~]# docker network ls |wc -l
31
这是因为 Docker 默认支持 30 个不同的自定义 bridge 网络,如果超过这个限制,就会提示上面的错误。你可以使用命令docker network ls
来查看你创建的网络,然后通过命令docker network prune
来移除没有使用的网络。
我采用另一种方式,将所有的项目加入到同一个自定义网络当中以节省自定义网络的数量
每台机器上执行:
docker network create xxx-network
docker-compose 文件中写入如下内容
version: '3'
services:
app:
build: ./app
networks:
- xxx-network
networks:
xxx-network:
external: true