如何清理docker产生的垃圾文件
发表于:2025-02-13 作者:千家信息网编辑
千家信息网最后更新 2025年02月13日,无意中感觉磁盘空间不够用,于是使用df -a命令查看,结果令人大吃一惊,全是docker干的好事,在/var/lib/docker/aufs里生成了一堆垃圾:davidhopper@davidhopp
千家信息网最后更新 2025年02月13日如何清理docker产生的垃圾文件
无意中感觉磁盘空间不够用,于是使用df -a命令查看,结果令人大吃一惊,全是docker干的好事,在/var/lib/docker/aufs里生成了一堆垃圾:
davidhopper@davidhopper-ThinkPad-P50s:~$ df -a文件系统 1K-块 已用 可用 已用% 挂载点sysfs 0 0 0 - /sysproc 0 0 0 - /procudev 8112832 0 8112832 0% /devdevpts 0 0 0 - /dev/ptstmpfs 1627828 9580 1618248 1% /run/dev/sda6 84293120 77948404 2039772 98% /securityfs 0 0 0 - /sys/kernel/securitytmpfs 8139124 18040 8121084 1% /dev/shmtmpfs 5120 4 5116 1% /run/locktmpfs 8139124 0 8139124 0% /sys/fs/cgroupcgroup 0 0 0 - /sys/fs/cgroup/systemdpstore 0 0 0 - /sys/fs/pstoreefivarfs 0 0 0 - /sys/firmware/efi/efivarscgroup 0 0 0 - /sys/fs/cgroup/net_cls,net_priocgroup 0 0 0 - /sys/fs/cgroup/perf_eventcgroup 0 0 0 - /sys/fs/cgroup/cpu,cpuacctcgroup 0 0 0 - /sys/fs/cgroup/pidscgroup 0 0 0 - /sys/fs/cgroup/devicescgroup 0 0 0 - /sys/fs/cgroup/cpusetcgroup 0 0 0 - /sys/fs/cgroup/rdmacgroup 0 0 0 - /sys/fs/cgroup/blkiocgroup 0 0 0 - /sys/fs/cgroup/hugetlbcgroup 0 0 0 - /sys/fs/cgroup/freezercgroup 0 0 0 - /sys/fs/cgroup/memorysystemd-1 - - - - /proc/sys/fs/binfmt_miscdebugfs 0 0 0 - /sys/kernel/debugmqueue 0 0 0 - /dev/mqueuehugetlbfs 0 0 0 - /dev/hugepagesfusectl 0 0 0 - /sys/fs/fuse/connectionsconfigfs 0 0 0 - /sys/kernel/config/dev/sda1 262144 33084 229060 13% /boot/efibinfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misctmpfs 1627828 56 1627772 1% /run/user/1000gvfsd-fuse 0 0 0 - /run/user/1000/gvfs/dev/sda6 84293120 77948404 2039772 98% /var/lib/docker/aufs
首先使用最简单的方法,清理当前未运行的所有Docker容器:
docker system prune
运行结果如下:
davidhopper@davidhopper-ThinkPad-P50s:~/code/apollo$ docker system pruneWARNING! This will remove: - all stopped containers - all volumes not used by at least one container - all networks not used by at least one container - all dangling imagesAre you sure you want to continue? [y/N] yDeleted Volumes:333739e346364a7d515cdfc585f5231dd7f74a9e71431d152f6efc4da3bcb303419184335b3c6130cb47b98c672e9666479ef0ff27cd2d20e173b5580050705294165565a1f9d0553d18de62f86264596747f1b38c651b5e4f68391607e8453d08d67461fa141609d0905f1209526131ce60864d1bf27650511a6bcc881971073aeb8f32513a1813f6b50726a233f16b20bb896b5cf3e51197c86e2cc10be3743af830103bdedc7f035be9d2bdbd1104733c274f3ce629784cdf9daee8ac070e78e7ab8000386d61050034a64eee041a2743b60c466598286f276534529db551155c34c18faf8d234412a999b28d1d6de8517b68eac5dc47e58964a0efb24a06200d23a03f40cb1b8af8e5368805370d45195448fbad0944bcb9730f2140d46251b2e0825e25de4c42475245a83b2119ce45e75da811ad6df1525f7ff2888a36559532c3877cf5641e21c15fca6d923266b6548a4aef834667b0c66ca78cde38a05cf184006b1301eb91e2ebcb9cca6d5868265f56bdac0aefd5228979fd8c74c21d336b8205ea12e27414c3a00eef6a329222ea7552b825d3889ef0427838203e573f8d84fd7923415b46a90017ff5cfeb2bd2931e4ec54c45c4bd62664042d3ee39b3a5e49b605d4069e99c4c1d01db6a210d28cbdc350672b33accd2b0f3ba0fe3e6d80b6fb4dc6ca2159789e512912fb4ffccd0df1183bafc55c4e8045633e062023110a4c13e7915da03ffaad3dbaa558c590a6b2274c2fb09ad54abd6c69276b6274956a28abfe50fdf459a0042ecba6978e379e035399c9272c930b57de1a0669765d765699b47999c59ed74f93fc0545fe8d280cefdd2cf9e2b3137933766d8c693b826d9da48d419c15b90fcfbac26eb9939749aef94218a31a767b45a2047d0581ad07ebd0164e69897f5ae99144a4f0422b72f184281ae47e0b4d7191a9c6cea03c4aa1aac1c742228c46e3d7e2577645a037d62600be7249a6497b45e555bca1d941af284743396753199f7bea33e7bf3f3362f385ec074b445008cb6f6b2c1d83796e9bcdd6eb6d2930ba80f98721ed1215d9bd6c75148a26080a786b212dc4e76225ae3e90dfd92c6eba5a4f60f465d86e62990fe22311ba1c2a50f3203d93d60e115ec3b3ba643b3213f98d3c793730332de0178a9f7b5c453b50fae52487f178325d0347f75eb2502195daf5e39ba156a37752d3d62cd9159067fa92cee1da6d1044ce51d616dc0cad67ac31e16f4f208ba840599dcb0b21cb07e29eabcbb62bbcbe13443267a96599747ca52b685a71b7233cf94d876d3867c55c6079ff257be64a59ee83d08c463591aebd5496dd1f134c33205d9f5c120a994bec4d112f6b012b7be4f5b7ad25c557c01f4392cf02546eceb69791324090d85444a338c247414adc209e42a46c89d30cc9c1c52d29c0d63a5e35b5d70cec2bb3abb42e7450005e9c9b30305a5763e44dc03a70f313062d57ef8062b10a09d99b0fd826d7463c1816228953c0492107916283de2b1ccb7fa8e22c2de3241ad2def94eaa92707b9cf3b7ef288b57c64cff0094103f776657aaeacae8c93992f633c27c6796091311e83617d4fb3b1526689b5b6ada33f58214ffa80c1f5e053bacc4b3bf55149f918368238ffe50c1ed777558092b7b883b2cda2b7a031315118045d54acb0e63c0ebd4460a1a1666b3c930b95d351a1b831419eb3f22262852c53d5b177522c67ffd9d916d66328ede26275c27a80745812b1c28b8d47fabe49f612dc9e8250f464772c726850415a051562ffcd922dc796a71bb94d0616927af521e03ec75a09dbfe0a86bbf69928773841c538a2fc094bc4368bd31386d97a92956067706ba5d8ac9d01e99294d8ca28e4182a81c0662f77faf8e372b8496afb1946e3f5863a23c8394f4065293e26dbc2555bf474d0328f56a613331829e41a7d593b75633868c72bb81123d32f2a14b656f1409c57da6bc984fa2339205da799d47bc613bf7b1955ea78712f16b4edf2a79b450f55ffb6111dee609923a72e6bde7fb13fae29995611f9d28b0bdd4cf6a53250c45006edbe795d120e31e6d693398b033843b0ad9cfceec09b9e1b47f7a9f4b2bec275e5e6a23fa3b0163e1b3e1d90e20410e33b5d95eec75b55819c1117fdd57c655c31ed589f524479c0acef02c7b1ddcb5863198868f71b6b2f3275146de73f9c884a9f50dd32e7a231567bbc73d11621d34cdacc45061cfe060e78210782e18fec100578fe56aTotal reclaimed space: 26.96GB
如果空间释放得还够多,就想办法删除/var/lib/docker/aufs文件夹,最朴素的想法是直接删除:
sudo rm -rf /var/lib/docker/aufs
结果令人失望,提示信息如下:
davidhopper@davidhopper-ThinkPad-P50s:~$ sudo rm -rf /var/lib/docker/aufs[sudo] davidhopper 的密码: rm: 无法删除'/var/lib/docker/aufs': 设备或资源忙
用命令cat /proc/mounts | grep "docker"
查找设备加载情况,果然有aufs:
davidhopper@davidhopper-ThinkPad-P50s:~$ cat /proc/mounts | grep "docker"/dev/sda6 /var/lib/docker/aufs ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
没办法,逼我用绝招,先缷载设备,再删除之:
sudo umount /var/lib/docker/aufssudo rm -rf /var/lib/docker/aufs
再次使用df -a命令查看,结果令人神清气爽:
davidhopper@davidhopper-ThinkPad-P50s:~$ df -a文件系统 1K-块 已用 可用 已用% 挂载点sysfs 0 0 0 - /sysproc 0 0 0 - /procudev 8112832 0 8112832 0% /devdevpts 0 0 0 - /dev/ptstmpfs 1627828 9584 1618244 1% /run/dev/sda6 84293120 65296764 14691412 82% /securityfs 0 0 0 - /sys/kernel/securitytmpfs 8139124 18256 8120868 1% /dev/shmtmpfs 5120 4 5116 1% /run/locktmpfs 8139124 0 8139124 0% /sys/fs/cgroupcgroup 0 0 0 - /sys/fs/cgroup/systemdpstore 0 0 0 - /sys/fs/pstoreefivarfs 0 0 0 - /sys/firmware/efi/efivarscgroup 0 0 0 - /sys/fs/cgroup/net_cls,net_priocgroup 0 0 0 - /sys/fs/cgroup/perf_eventcgroup 0 0 0 - /sys/fs/cgroup/cpu,cpuacctcgroup 0 0 0 - /sys/fs/cgroup/pidscgroup 0 0 0 - /sys/fs/cgroup/devicescgroup 0 0 0 - /sys/fs/cgroup/cpusetcgroup 0 0 0 - /sys/fs/cgroup/rdmacgroup 0 0 0 - /sys/fs/cgroup/blkiocgroup 0 0 0 - /sys/fs/cgroup/hugetlbcgroup 0 0 0 - /sys/fs/cgroup/freezercgroup 0 0 0 - /sys/fs/cgroup/memorysystemd-1 - - - - /proc/sys/fs/binfmt_miscdebugfs 0 0 0 - /sys/kernel/debugmqueue 0 0 0 - /dev/mqueuehugetlbfs 0 0 0 - /dev/hugepagesfusectl 0 0 0 - /sys/fs/fuse/connectionsconfigfs 0 0 0 - /sys/kernel/config/dev/sda1 262144 33084 229060 13% /boot/efibinfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misctmpfs 1627828 52 1627776 1% /run/user/1000gvfsd-fuse 0 0 0 - /run/user/1000/gvfs
为了让docker以后不再占用更多空间,我们指定docker目录的最大空间,命令如下:
mkdir -p /var/lib/docker/devicemapper/devicemapper dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1M count=0 seek=1024
建立的文件最大尺寸为 1MB * 1024 = 10 GB
注意:
如果删除垃圾文件后,导致Docker无法使用,则可使用如下方法将相关文件全部删除,然后重新安装Docker。删除相关文件的方法如下:
1.查找Docker缓存文件位置
sudo find / -name "docker"
在我机器上结果如下:
/sys/fs/cgroup/memory/docker/sys/fs/cgroup/blkio/docker/sys/fs/cgroup/hugetlb/docker/sys/fs/cgroup/pids/docker/sys/fs/cgroup/cpuset/docker/sys/fs/cgroup/perf_event/docker/sys/fs/cgroup/devices/docker/sys/fs/cgroup/net_cls,net_prio/docker/sys/fs/cgroup/freezer/docker/sys/fs/cgroup/cpu,cpuacct/docker/sys/fs/cgroup/systemd/docker/etc/default/docker/etc/docker/etc/init.d/docker/var/lib/docker/run/dockerfind: `/run/user/1000/gvfs': 权限不够/usr/lib/docker/usr/share/code/resources/app/extensions/docker/usr/share/bash-completion/completions/docker/usr/bin/docker/home/davidhopper/Qt5.10.0/5.10.0/Src/qtwebengine/src/3rdparty/chromium/third_party/protobuf/jenkins/docker/home/davidhopper/.cache/bazel/_bazel_davidhopper/install/5b1e8be5d1d6766f635a7db5967707e9/_embedded_binaries/embedded_tools/tools/build_defs/docker/home/davidhopper/.vscode/extensions/njpwerner.autodocstring-0.2.0/.vscode-test/Visual Studio Code.app/Contents/Resources/app/extensions/docker/home/davidhopper/code/apollo/docker/home/davidhopper/code/protobuf-master/jenkins/docker/home/davidhopper/code/apollo1215/apollo/docker
2.删除Docker缓存
复制代码 代码如下:sudo rm -rf /home/davidhopper/.cache/bazel/_bazel_davidhopper/install/5b1e8be5d1d6766f635a7db5967707e9/_embedded_binaries/embedded_tools/tools/build_defs/docker
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
文件
结果
命令
空间
方法
设备
垃圾
最大
不够
代码
办法
系统
缓存
运行
朴素
失望
大吃一惊
神清气爽
位置
信息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
5g信息网络安全工程师
数据库表内容删除语句
计算机网络技术题库带答案doc
奉化游戏软件开发商
数据库有个字段没值怎么添加
加强网络安全征文400字
软件开发成员角色简称
网络技术设计理念
腾讯轻量服务器离线
电子商务数据库技术课后答案
地图软件用什么软件开发
工业软件开发前景
360网络安全管家
数据库上下级关系
数据库三者之间关系
徐州盛斗士网络技术
红人装软件开发
数据库端的编程之存储过程
中国新方志全文数据库
计算机网络技术远程
诺瓦科技软件开发什么薪资
一支高水平网络安全队伍
运用网络技术完善社会治理
青浦区智能软件开发哪家便宜
企业调查研究数据库
方舟服务器怎么改恐龙属性
mir4服务器哪里查看
网络安全龙头企业排
华为服务器苏州国资
易抢单软件开发