查看 Docker 占用磁盘空间的方法

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

注意:清理前请确认这些数据确实不再需要。

正文完
 0
评论(没有评论)
验证码