Docker服务器存储资源池不足的问题解决

系统环境:

  • docker 版本:19.03.13
  • 操作系统版本:centos 7.8

一、问题描述

最近在执行 docker 运行命令启动镜像时候,无法正常执行 docker 启动镜像命令,提示了如下错误信息:

error: error response from daemon: devmapper: thin pool has 163051 free data blocks which is less than minimum required 163840 free data blocks. create more free space in thin pool or use dm.min_free_space option to change behavior

二、问题分析

根据提示的错误信息来看,是 docker 的 thin pool 池空间不足导致,可用需要创建更多该池的可用空间或者使用 dm.min_free_space 选项改变池的可用空间大小。

我们通过下面命令查看一下服务器上 docker 信息,观察资源使用情况:

显示的内容如下:


data space total: 507.4gb
data space available: 100.67gb
metadata space used: 100.4mb
metadata space total: 20.147gb
metadata space available: 20.047gb
thin pool minimum free space: 100.74gb
deferred removal enabled: true
deferred deletion enabled: true
deferred deleted device count: 0

通过上面信息,观察到 thin pool minimum free space = 100.74gb 而 data space available = 100.67,这说明 data space available 可用空间以及低于 thin pool 所需最小空间,这会导致镜像无法正常启动。

三、解决问题

1、查看 docker 磁盘使用情况

我们可以使用下面命令查看 docker 磁盘使用情况:

其中总共列出如下信息:

  • type:资源类型;
  • total:资源总数目;
  • active:资源处于活动状态数目;
  • size:资源使用空间大小;
  • reclaimable:可回收资源大小;

其中的各个组件是指:

  • images:镜像占用存储空间大小;
  • containers:启动的容器占用存储空间大小
  • local volumes:本地挂载卷使用存储空间大小;
  • build cache:构建缓存占用存储空间大小;

如果想详细查看系统占用情况,可用加 -v 命令查看各个资源使用存储详情

2、对可回收存储资源执行清理命令

docker 提供了存储资源回收功能,命令如下:

清理命令详情请查看 docker 官方文档:

该命令会清理所有未使用的容器,网络,映像(悬空的和未引用的)以及卷(可选),执行该命令后等待一段时间,回收足够的资源后 docker 运行镜像恢复正常。

总结

到此这篇关于docker服务器存储资源池不足的问题解决的文章就介绍到这了,更多相关docker服务器存储资源池不足解决内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐