【解决】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

参考:Docker-compose引入外部网络

 

posted @ 2019-03-19 16:04  liyongjian5179  阅读(5823)  评论(0编辑  收藏  举报