1. 使用 docker system df 命令
docker system df
这个命令会显示 Docker 磁盘使用情况的概览,包括:
- 镜像(Images)占用空间
- 容器(Containers)占用空间
- 本地卷(Local Volumes)占用空间
- 构建缓存(Build Cache)占用空间
- 可回收空间(Reclaimable)
2. 查看详细的空间占用
docker system df -v
-v
参数会显示更详细的信息,包括每个镜像、容器和卷的具体大小。
3. 检查 Docker 根目录大小
Docker 默认存储在 /var/lib/docker
目录下,可以使用 du 命令查看:
sudo du -sh /var/lib/docker/*
这会显示 Docker 各个子目录的大小,包括:
containers/
– 容器数据volumes/
– 卷数据image/
– 镜像数据overlay2/
– 存储驱动数据(如果使用 overlay2 驱动)
4. 查看大体积镜像
docker images --format "{{.ID}}\t{{.Repository}}\t{{.Tag}}\t{{.Size}}" | sort -k 4 -h
这会按大小排序显示所有镜像。
5. 查看大体积容器
docker ps -s --format "table {{.ID}}\t{{.Names}}\t{{.Size}}"
这会显示运行中容器及其大小。
6. 查看大体积卷
docker volume ls -q | xargs docker volume inspect --format '{{ .Name }}: {{ .Mountpoint }}' | while read line; do echo "$line: $(sudo du -sh $(echo $line | awk '{print $2}') | awk '{print $1}')"; done
这会显示所有卷及其大小。
7. 清理无用数据
如果需要清理空间,可以运行:
docker system prune
这会删除:
- 所有停止的容器
- 所有未被任何容器使用的网络
- 所有悬空镜像
- 所有悬空构建缓存
如果要包括未使用的卷,添加 --volumes
参数:
docker system prune --volumes
注意:清理前请确认这些数据确实不再需要。
正文完