小知识:docker磁盘空间清理的解决办法

前段时间遇到docker磁盘空间太少,无法写入数据的问题。起因是因为我在本地(Mac Pro)运行了多个mysql容器,并且导入了一部分线上数据,最后还没导入完毕就已经没有可用空间了。

我最开始给docker分配的磁盘空间是80GB,然后当出现无法写入的时候已经是只剩余0.6GB了。

可以使用下面的命令来查看docker容器和镜像磁盘占用情况:

?
1
docker system df

可以看到类似如下的输出,包括镜像(Images)、容器(Containers)、数据卷(Local Volumes)、构建缓存(Build Cache):

?
1
2
3
4
5
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占用的磁盘空间最大。如果还想查看更详细的报告,则使用如下命令。

?
1
docker system df -v

可以看到很多输出,其中关于Local Volumes的是:

?
1
2
3
4
5
VOLUME NAME                                                        LINKS     SIZE
641d4976908910dca270a2bf5edf33408daf7474a0f27c850b6580b5936b6dd0   1         40.1GB
ovpn-data                                                          1         33.51kB
267b52c5eab8c6b8e0f0d1b02f8c68bdaffba5ea80a334a6d20e67d22759ef48   1         6.325GB
f4a3866ef41e3972e087883f8fa460ad947b787f2eafb6545c759a822fb6e30d   0         207MB

为了腾出空间,第一个想到的简单粗暴的办法是将所有停止的容器删除,命令如下。

?
1
docker system prune -a

但是使用这个命令还是要谨慎,记得把需要使用的docker容器都先启动起来,不然那些没有启动的容器就会被这条命令删除了。基于安全的考虑,这个命令默认不会删除那些未被任何容器引用的数据卷,如果需要同时删除这些数据卷,你需要显式的指定 –volumns。

所以如果想强制删除包括容器、网络、镜像、数据卷,可以使用如下命令。

?
1
docker system prune –all –force –volumns

第二个方法是把docker存储数据的路径改到磁盘空间更大的其他地方。如果是Mac用户,可以在图形化的Docker Desktop的设置里面修改Disk image location设置。

我尝试过第二种办法,把Disk image location改到外接的SSD上,并且尝试把之前的数据先同步过去。后面发现一个很大的问题,就是在mysql容器中导入数据会非常缓慢,这大概就是外接SSD在docker容器中的写入瓶颈。

假如你只是想运行几个容器,而不是本地存储数据库数据,那么将docker数据存储到SSD是一个不错的办法。

到此这篇关于docker磁盘空间清理的解决办法的文章就介绍到这了,更多相关docker磁盘空间清理内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/freephp/p/14864570.html

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:服务器大量php-cgi.exe进程导致CPU占用100%的解决方法

2023-3-20 11:17:38

建站知识

小知识:VirtualBox+Ubuntu16搭建Kubernetes集群的实现

2023-3-20 11:32:16

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索