释放docker的存储空间

上一级页面:index-docker

前言

此文件产生的原因是主机上安装了WSL2,且安装了docker,日积月累的,内部积压了特别多版本的镜像和容器

WSL2本质上来说还是虚拟机,Windows会创建vhdx后缀的磁盘镜像文件,作为存储,特点是支持自动扩容,但是一般不会自动缩容,如VBox创建虚拟机时的动态存储卷

由于Docker安装了Kafka、Apollo、XXL-JOB、ETCD等一堆还包含多个版本的系统组件,镜像和容器所占空间可观

其实都是本地验证测试之类的用途,使用时通过docker-compose创建,完成应该删除

释放docker的存储空间

先清理docker的占用空间

也可以先确认什么目录的空间占用比较大

发现最大的就是docker /var/lib/docker

其中 /var/lib/docker/volumes 也是相当大,原因是容器删除后,数据卷仍在磁盘中,需要清理(非手动挂载)

1
2
# 查看最大空间占用目录
sudo du -h --exclude="mnt*" --exclude="proc*" -d 1 /
1
2
# 清理 无用的volumes
docker volume prune
1
2
3
4
5
6
7
# 删除无用的镜像和容器及构建缓存
docker system prune
# WARNING! This will remove:
# - all stopped containers
# - all networks not used by at least one container
# - all dangling images
# - all dangling build cache
1
2
3
# docker container prune
# docker image prune

1
2
3
# 手动删除不需要的镜像
docker images
docker rmi xxx

参考、引用、致谢

释放wsl占用的对于硬盘空间 - 知乎 (zhihu.com)

释放win10子系统WSL2的磁盘空间 | Don’t Panic (loesspie.com)