一、清理Docker Desktop的磁盘占用
//【查看docker 占用的空间】
docker system dfTYPE 列出了docker 使用磁盘的 4 种类型:
Images:所有镜像占用的空间,包括拉取下来的镜像,和本地构建的。Containers:运行的容器占用的空间,表示每个容器的读写层的空间。Local Volumes:容器挂载本地数据卷的空间。Build Cache:镜像构建过程中产生的缓存空间(只有在使用 BuildKit 时才有,Docker 18.09 以后可用)。RECLAIMABLE :可回收大小。//【镜像的磁盘占用】
//列出所有悬挂状态的镜像:docker image ls -f dangling=true
//1-删除镜像
docker image prune 或者 docker image rm $(docker image ls -f dangling=true -q)//【数据卷的磁盘占用】
//2-删除不再使用的数据卷
docker volume prune 或者 docker volume rm $(docker volume ls -q)//【Build Cache 的磁盘占用】
//3-删除 build cache磁盘占用
docker builder prune //【4-一键清理】
docker system prune
二、清理wsl的磁盘占用
//1-可以先使用命令行来检查它的状态:
wsl -l -v或者
wsl --list -v 或者
wsl.exe --list --verbose //2-如果状态是 Running,再用命令行去关闭:
wsl.exe --terminate 名称
例如:
wsl.exe --terminate Ubuntu-22.04
wsl.exe --terminate docker-desktop
wsl.exe --terminate docker-desktop-data //3-关闭wsl(可忽略)
wsl --shutdown//4-使用diskpart工具压缩虚拟磁盘文件
//4-1
找到你的wsl虚拟磁盘位置,我这里是C:\Users\JIACHENGER\AppData\Local\Docker\wsl\data\DockerDesktopWSL\data\ext4.vhdx//4-2
在PowerShell中,输入diskpart命令,启动diskpart工具。//4-3 依次输入下列命令
//选择目标磁盘文件
select vdisk file="C:\Users\xxx\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState\ext4.vhdx"//以只读模式连接虚拟磁盘文件
attach vdisk readonly//开始压缩虚拟磁盘文件
compact vdisk//分离虚拟磁盘文件
detach vdisk//退出diskpart工具
exit
1-可以先使用命令行来检查它的状态
:
2-如果状态是 Running,再用命令行去关闭
:
使用diskpart工具压缩虚拟磁盘文件
: