欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

【解决】could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network

程序员文章站 2022-06-11 08:33:44
在同一套环境中跑了很多个项目都是用 docker-compose的方式启动的,导致创建的自定义网络过多出现下面的报错 查看自定义网络 这是因为 Docker 默认支持 30 个不同的自定义 bridge 网络,如果超过这个限制,就会提示上面的错误。你可以使用命令docker network ls来查 ......

在同一套环境中跑了很多个项目都是用 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引入外部网络