如何清理docker产生的垃圾文件
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,无意中感觉磁盘空间不够用,于是使用df -a命令查看,结果令人大吃一惊,全是docker干的好事,在/var/lib/docker/aufs里生成了一堆垃圾:davidhopper@davidhopp
千家信息网最后更新 2025年12月03日如何清理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安全错误
数据库的锁怎样保障安全
定安软件开发文档
中央企业网络安全监管平台
万得数据库可以用吗
家庭服务器是什么
服务器的缓存盘应该只能读不能写
网络安全工程师真题及答案
税控盘显示数据库表初始化失败
网络技术与信息管理哪个好
远程登录ftp服务器
数据库as begin
网络安全产品和服务应当怎么样
服务器cpu amd
集中管理服务器的软件
服务器价格购买价格表
华为服务器开启超线程命令
java怎么进入服务器
陕西西安网络安全周主题
机学软件开发
河北数据库防护箱市场价格
华为云服务取消删除数据库
新网dns解析服务器
学计算机网络技术前的想法
项目分析需要什么软件开发
造价咨询单位询价数据库积累
数据库adg
软件开发工程培训学校
达梦数据库排序
湖北互联网软件开发定制费用
搭建征途游戏服务器
网络安全国家安全案例