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服务器存储资源池不足解决内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Gitlab-runner+Docker实现自动部署SpringBoot项目
这篇文章主要介绍了Gitlab-runner+Docker自动部署SpringBoot项目,我们的主要流程就是通过Gitlab管理代码,然后利用Gitlab自带的Gitlab CI/CD功能与GitlabRunner进行注册绑定,需要的朋友可以参考下2022-04-04使用Docker的NFS-Ganesha镜像搭建nfs服务器的详细过程
这篇文章主要介绍了使用Docker的NFS-Ganesha镜像搭建nfs服务器,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-08-08docker-compose up -d和docker-compose up -
本文主要介绍了docker-compose up -d和docker-compose up --build的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-07-07Docker可视化ui管理工具Portainer安装及使用解析
这篇文章主要介绍了Docker可视化ui管理工具Portainer安装及使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-11-11如何使用docker compose 部署ELK 8.X及监控
这篇文章主要介绍了如何使用docker compose 部署ELK 8.X及监控,包括前置环境配置及docker compose启动/停止的命令,感兴趣的朋友跟随小编一起看看吧2023-10-10
最新评论