docker垃圾清理(docker磁盘空间清理的解决办法)
docker垃圾清理
docker磁盘空间清理的解决办法前段时间遇到docker磁盘空间太少,无法写入数据的问题。起因是因为我在本地(Mac Pro)运行了多个mysql容器,并且导入了一部分线上数据,最后还没导入完毕就已经没有可用空间了。
我最开始给docker分配的磁盘空间是80GB,然后当出现无法写入的时候已经是只剩余0.6GB了。
可以使用下面的命令来查看docker容器和镜像磁盘占用情况:
docker system df
可以看到类似如下的输出,包括镜像(Images)、容器(Containers)、数据卷(Local Volumes)、构建缓存(Build Cache):
TYPE TOTAL ACTIVE SIZE RECLAIMABLE Images 5 5 5.158GB 0B (0%) Containers 6 6 7.601MB 0B (0%) Local Volumes 4 3 46.64GB 207MB (0%) Build Cache 34 0 1.609MB 1.609MB
可以看到以上4种类型里面Local Volumes占用的磁盘空间最大。如果还想查看更详细的报告,则使用如下命令。
docker system df -v
可以看到很多输出,其中关于Local Volumes的是:
VOLUME NAME LINKS SIZE 641d4976908910dca270a2bf5edf33408daf7474a0f27c850b6580b5936b6dd0 1 40.1GB ovpn-data 1 33.51kB 267b52c5eab8c6b8e0f0d1b02f8c68bdaffba5ea80a334a6d20e67d22759ef48 1 6.325GB f4a3866ef41e3972e087883f8fa460ad947b787f2eafb6545c759a822fb6e30d 0 207MB
为了腾出空间,第一个想到的简单粗暴的办法是将所有停止的容器删除,命令如下。
docker system prune -a
但是使用这个命令还是要谨慎,记得把需要使用的docker容器都先启动起来,不然那些没有启动的容器就会被这条命令删除了。基于安全的考虑,这个命令默认不会删除那些未被任何容器引用的数据卷,如果需要同时删除这些数据卷,你需要显式的指定 --volumns。
所以如果想强制删除包括容器、网络、镜像、数据卷,可以使用如下命令。
docker system prune --all --force --volumns
第二个方法是把docker存储数据的路径改到磁盘空间更大的其他地方。如果是Mac用户,可以在图形化的Docker Desktop的设置里面修改Disk image location设置。
我尝试过第二种办法,把Disk image location改到外接的SSD上,并且尝试把之前的数据先同步过去。后面发现一个很大的问题,就是在mysql容器中导入数据会非常缓慢,这大概就是外接SSD在docker容器中的写入瓶颈。
假如你只是想运行几个容器,而不是本地存储数据库数据,那么将docker数据存储到SSD是一个不错的办法。
到此这篇关于docker磁盘空间清理的解决办法的文章就介绍到这了,更多相关docker磁盘空间清理内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
- docker怎么设置参数(浅谈docker --privileged=true参数作用)
- dockerpush被拒绝(docker pull拉取超时的解决方案)
- docker执行shell脚本(基于Docker搭建ELK 日志系统的方法)
- idea docker部署微服务(idea连接docker实现一键部署的方法)
- 在windows安装docker详细步骤(Docker 部署 Prometheus的安装详细教程)
- docker的解剖(再见 Docker如何5分钟转型 containerd)
- 如何启动所有docker服务(docker 使用CMD或者ENTRYPOINT命令同时启动多个服务)
- dockerfile自定义镜像图解(Docker images导出和导入操作)
- django框架教程第100讲(详解Django+Vue+Docker搭建接口测试平台实战)
- 怎么用docker中的mysql连接数据库(解决Docker之mysql容器数据库更改不生效的问题)
- dockerpull下来的容器存放位置(详解docker pull下来的镜像存储在哪里)
- dockerfile镜像案例(Dockerfile构建自定义镜像的实现)
- shell监控docker各种状态(如何监控docker容器运行状态 shell 脚本)
- docker部署高性能服务器(Docker部署SQL Server 2019 Always On集群的实现)
- docker 镜像导入导出(Docker镜像的导入导出代码实例)
- docker部署kafka认证(docker-compose部署zk+kafka+storm集群的实现)
- 写信告诉我今天海是什么颜色(写信告诉我今天海是什么颜色回答)
- 英语难学吗(法语比英语难学吗)
- 今天要吃什么(今天要吃什么菜好)
- 网红直播可以赚很多钱吗(网红直播可以赚很多钱吗)
- 今天是什么日子(今天是什么日子有什么特殊意义吗)
- 这里输入关键词(怎么输入关键词搜索)
热门推荐
- python怎么取出列表(Python 利用切片从列表中取出一部分使用的方法)
- idea 部署到tomcat 的项目在哪儿(使用IDEA创建Web项目并发布到tomcat的操作方法)
- sqlserver字符串格式化(SQL server中字符串逗号分隔函数分享)
- 腾讯云可以在阿里云服务吗(卸载阿里云、腾讯云服务器监控系统图文教程)
- asp.net文件下载的方法
- axios 请求前校验参数(js实现axios限制请求队列)
- sqlserver常用基本数据类型有哪些(浅述SQL Server的语句类别 数据库范式 系统数据库组成)
- dedecms屏蔽规则(使用Dedecms中七个容易忽略的安全细节介绍)
- python的基本函数及用法(Python3.6.x中内置函数总结及讲解)
- python的4种数字变量(Python将字符串常量转化为变量方法总结)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9