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

 更新时间:2020年11月13日 10:21:55   作者:超级小豆丁  
这篇文章主要给大家介绍了关于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 信息,观察资源使用情况:

$ docker info

显示的内容如下:

...
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 磁盘使用情况:

$ docker system df

TYPE   TOTAL  ACTIVE SIZE  RECLAIMABLE
Images   500  12  38.31GB  34.5GB (90%)
Containers  64  21  157MB  4.109MB (2%)
Local Volumes 37  18  0B   0B
Build Cache  0  0  

其中总共列出如下信息:

  • TYPE:资源类型;
  • TOTAL:资源总数目;
  • ACTIVE:资源处于活动状态数目;
  • SIZE:资源使用空间大小;
  • RECLAIMABLE:可回收资源大小;

其中的各个组件是指:

  • Images:镜像占用存储空间大小;
  • Containers:启动的容器占用存储空间大小
  • Local Volumes:本地挂载卷使用存储空间大小;
  • Build Cache:构建缓存占用存储空间大小;

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

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

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

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

$ docker system prune

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

总结

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

相关文章

  • docker machine安装极狐gitlab的过程详解

    docker machine安装极狐gitlab的过程详解

    这篇文章主要介绍了docker machine安装极狐gitlab的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • 更改Docker默认数据目录解决部署空间不足问题

    更改Docker默认数据目录解决部署空间不足问题

    随着使用 Docker 的时间增加,存储在默认数据目录(通常是 /var/lib/docker)中的数据量也会不断增大,最终可能导致服务器上的存储空间不足,这篇文章将详细介绍如何更改 Docker 的默认数据目录,以便在服务器上释放存储空间并优化资源利用,需要的朋友可以参考下
    2024-06-06
  • 在CentOS 7上安装Docker环境的方法与注意事项

    在CentOS 7上安装Docker环境的方法与注意事项

    这篇文章主要介绍了在CentOS 7上安装Docker环境的方法与注意事项,需要的朋友可以参考下
    2016-10-10
  • Linux 离线安装docker的过程(一键式安装)

    Linux 离线安装docker的过程(一键式安装)

    这篇文章主要介绍了Linux 离线安装docker(一键式安装)的方法,非常简单,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • docker查询日志并输出到文件的方法

    docker查询日志并输出到文件的方法

    docker的运行的时候我们喜欢采用 -d 的命令来启动docker容器,这就导致了一个问题,无法直接看到docker运行日志,只能去后台进去找到日志文件查看,下面这篇文章主要给大家介绍了关于docker查询日志并输出到文件的相关资料,需要的朋友可以参考下
    2023-06-06
  • docker容器中文乱码的解决方法

    docker容器中文乱码的解决方法

    Docker默认不支持中文,在docker中部署Java运行环境,查看日志时都是乱码,下面这篇文章主要给大家介绍了关于docker容器中文乱码的解决方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • Docker load之后镜像名字为none问题解决方法

    Docker load之后镜像名字为none问题解决方法

    这篇文章主要介绍了Docker load之后镜像名字为none问题解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Docker构建Jar镜像的方法实现

    Docker构建Jar镜像的方法实现

    本文主要介绍了Docker构建Jar镜像的方法实现,主要包括编写Dockerfile、构建镜像、测试镜像等操作,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • Docker使用过程中的一些注意事项

    Docker使用过程中的一些注意事项

    这篇文章主要为大家介绍了在使用Docker过程中的一些注意事项,就个人的一些经验分享给大家,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-10-10
  • 详解Docker如何启动一个Centos镜像

    详解Docker如何启动一个Centos镜像

    本篇文章主要介绍了详解Docker如何启动一个Centos镜像,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05

最新评论