当前位置: 首页 > news >正文

解决:all predefined address pools have been fully subnetted

错误原因:

Docker 给容器分配内网 IP 的「地址库」已经用完了,没法给新创建的容器 / 网络分配新的 IP 了。

  • Docker 的「地址池」是什么?

    Docker 启动时会预设几个「私有 IP 网段」(比如172.17.0.0/16172.18.0.0/16172.19.0.0/16等),这些网段就是「预定义地址池」。

    • 172.17.0.0/16网段能分配65534个 IP(172.17.0.1 ~ 172.17.255.254);

    • 每个 Docker 自定义网络,会从这些地址池里「切一块子网」(默认是/24,即 254 个 IP)。

  • 错误怎么产生的?

    • 每次你执行docker-compose up创建新网络时,Docker 会从预定义地址池里找一个未被使用的/24子网分配给这个网络。

      • 比如第一次创建网络,分配172.17.0.0/24
      • 第二次创建,分配172.17.1.0/24
      • 172.17.0.0/16里的 256 个/24子网都被用完后,Docker 会用下一个预定义池172.18.0.0/16
      • 当所有预设的地址池(172.17、172.18、172.19…)里的子网都被分配完,就会报all predefined address pools have been fully subnetted错误。
  • 为什么服务器会出现这个问题?

    不是真的用了几万 / 几十万 IP,而是:

    • 反复执行docker-compose down/up,每次down没有清理旧网络(Docker 不会自动删除未使用的网络);
    • 这些「僵尸网络」占用了大量子网,慢慢把 Docker 的预定义地址池耗尽了;
    • 哪怕你的容器已经删除,只要网络没删,子网就会一直被占用。
  • 登录服务器,执行以下命令清理废弃网络:

1. 查看所有 Docker 网络(找到未使用的网络)

docker network ls

2. 清理所有未被容器使用的网络(安全,不会删除正在使用的网络)

docker network prune -f

上面的方法是比较推荐的。

但是​如果清理后仍频繁出现该问题,需要修改 Docker 配置文件,增加自定义地址池:

# 1. 创建/编辑 Docker 配置文件 vim /etc/docker/daemon.json # 2. 添加以下内容(新增 192.168.0.0/16 地址池,避免和默认池冲突) { "default-address-pools": [ {"base":"192.168.0.0/16","size":24} ] } # 3. 重启 Docker 服务 systemctl restart docker

第一个方法我自己实践过,解决了我的问题。

第二个方法我没用过,但是理论上应该能解决

http://www.jsqmd.com/news/286023/

相关文章:

  • 2026毕业季必备:6款免费降AI率工具实测推荐
  • 学Simulink——风电电机控制场景实例:基于Simulink的风电变流器死区补偿与非线性校正仿真
  • SCI论文降AI率工具推荐:留学生和科研党必看的5款利器
  • 降AI不伤文:保留专业术语的6个实用技巧
  • 2026降AI工具红黑榜:亲测10款后只推荐这3个
  • 论文降AI工具TOP5横评:哪款效果最好、性价比最高
  • 知网AIGC检测不通过?这份避坑指南请收好
  • 类和对象(下)
  • 2026年国产持妆粉底液厂家专业深度测评(排名前五)
  • 工业显示器在智能办公用品申领柜中的应用
  • Rust入门一:从内存安全到高性能编程
  • 从源码视角来看Pinia!
  • 2026年国产持妆粉底液专业深度测评:排名前五品牌权威发布
  • 2026年国产持妆粉底液专业深度测评:排名前五供应商权威榜单
  • 初学范畴论的一些体会
  • 2026年专业深度测评:国产持妆粉底液厂家排名前五权威榜单
  • 2026毕业论文降AI必备:这5款工具帮你AI率降到10%以下
  • 【计算机毕业设计案例】基于springboot的就业招聘面试试题管理系统(程序+文档+讲解+定制)
  • 2026年8款免费降AI率工具实测推荐,毕业生必看
  • 【计算机毕业设计案例】基于SpringBoot+Vue咖啡售卖商城平台的设计与实现基于springboot的咖啡共赏平台(程序+文档+讲解+定制)
  • 毕业生必看:知网AIGC检测不通过怎么办?超全解决方案
  • 解决 Java UnsatisfiedLinkError: libfontmanager.so 加载失败问题
  • Java毕设项目推荐-基于springboot的面试试题管理系统基于springboot面试刷题平台系统的设计与实现【附源码+文档,调试定制服务】
  • 长春婚纱照,记录下你们爱情故事中的每一个动人瞬间
  • Java毕设项目推荐-基于springboot在线咖啡点单平台基于springboot的咖啡共赏平台【附源码+文档,调试定制服务】
  • 基于微信小程序的汽车维修预约系统【源码+文档+调试】
  • 学习日记day65
  • 基于微信小程序的企业会议预约系统【源码+文档+调试】
  • 手把手教你学Simulink--风电电机控制场景实例:基于Simulink的风电变流器死区补偿与非线性校正仿真
  • 全网最全8个一键生成论文工具,本科生轻松搞定毕业论文!