docker在使用的过程中会越来越臃肿,可以用下面的命令瘦身

Volume 用于持久化和共享容器数据,清理不再使用的 Volume 可以释放磁盘空间。常用的清理方法有:

  1. 查看现有 Volume
# 列出所有 Volume
docker volume ls

# 只列出“悬空”(dangling,即未被任何容器使用)的 Volume
docker volume ls -f dangling=true
  1. 删除单个 Volume
# 删除指定名字的 Volume
docker volume rm VOLUME_NAME
  1. 一键清理所有“悬空”Volume
# 交互式确认
docker volume prune

# 或者跳过确认
docker volume prune -f

此命令会删除所有未被任何容器使用的 Volume。

  1. 清理所有未使用的 Docker 资源(网络、镜像、容器、Volume)
    如果想一并清理所有未使用的资源,可以用:
docker system prune --volumes

它会:

  • 删除所有停止的容器
  • 删除所有未用的网络
  • 删除所有 dangling 镜像(中间层)
  • 删除所有未使用的 Volume

加上 -a 可以连同未被容器直接引用但不是 dangling 的镜像一并清理:

docker system prune -a --volumes
  • 谨慎操作:清理 Volume 会永久丢失其中的数据,务必确认不再需要或已做好备份。
  • 定期检查:在开发环境中频繁创建/删除容器,很容易积累大量悬空 Volume,可考虑配置 CI/CD 或定时任务自动执行 docker volume prune -f
  • 脚本化清理:如果想针对名称模式或创建日期做更精细的清理,可以结合 docker volume ls --format '{{.Name}} {{.CreatedAt}}' 输出,再用 shell 脚本过滤并依次 docker volume rm

这样,你就可以根据需要,按容器级别或全局一次性地清理 Docker Volume,释放磁盘空间。

0

本文为原创文章,转载请注明出处,欢迎访问作者网站(和而不同)

发表评论

error: Content is protected !!