Docker 磁盘占用盘查和清理

排查

查看 Docker 各组件磁盘占用(镜像/容器/卷/缓存)

docker system df

详细查看每个对象的磁盘占用

docker system df -v

精准定位大体积容器

  • 进入容器,查看哪些文件夹使用磁盘比较大,反复执行这条命令,修改查询使用磁盘比较大的文件夹,一步一步溯源
    du -h --max-depth=1 / 2>/dev/null | sort -h

清理

清理容器

  • 仅删除停止运行的容器
    docker container prune
  • 强制删除单个容器
    docker rm -f
  • 删除所有容器
    docker rm -f $(docker ps -aq)

清理镜像

  • 删除单个镜像
    docker rmi
  • 删除所有悬空镜像(未被任何容器引用的中间层镜像)
    docker image prune
  • 删除无容器使用的镜像
    docker image prune -a

清理数据卷

  • 删除未使用的数据卷
    docker volume prune
  • 删除所有数据卷(会删除正在使用的数据卷,导致数据丢失)
    docker volume rm $(docker volume ls -q)
  • 只删未使用的数据卷
    docker volume rm $(docker volume ls -qf dangling=true)

清理磁盘

  • 删除已停止容器 + 悬空镜像 + 未使用网络 + 构建缓存,保留被容器引用的镜像+正在使用的数据卷
    docker system prune
  • 删除已停止容器 + 悬空镜像 + 未使用网络 + 构建缓存+所有未被容器使用的镜像(包括有 tag 的镜像),保留被容器引用的镜像+正在使用的数据卷
    docker system prune -a

清理网络

  • 删除未使用的自定义网络
    docker network prune

  • 删除特定网络
    docker network rm

你可能感兴趣的:(云计算,docker,docker,容器,运维)