快速删除无用的Docker Image

docker image prune

Docker提供了可以快速删除无用镜像的命令:

1
docker image prune

可直接运行,效果:删除所有悬空的(Dangling)镜像

  • Dangling Image 指无镜像名或无镜像版本的镜像,比如:xxx:<none><none>:xxx<none>:<none> 均是Dangling Image

注意:是 image,不是 images

  • docker images 只用于查看已拉取的镜像详情
  • docker image 用于对镜像进行操作

docker image prune 有三个重要参数:

  • -f:直接执行不确认
  • -a:除了删除Dangling Image外,还删除未被任何容器使用的镜像
  • --filter:过滤器,用于选择性删除
    • --filter until=时间戳:在该时间戳之前的镜像会被处理
      • --filter until=48h:近48小时内的镜像不处理
      • --filter until=2023-01-01T04:00:00:在2023/01/01 04:00:00之后的镜像不处理
    • --filter label=标签名:有这个标签的镜像才处理
      • --filter label!=标签名:没有这个标签的镜像才处理
      • --filter label=标签名=标签值--filter label!=标签名=标签值:指定标签的值

docker container prune

docker image prune类似,但是对容器进行操作:删除所有停止(Stopped)的容器。

1
docker container prune

有两个参数:

  • -f:直接执行不确认
  • --filter:过滤器,用法同docker image prune --filter
评论