查看docker占用分布

docker system df
docker system df -v #可以进一步查看空间占用的细节以确定是哪个镜像,容器活着本地卷占用过高的空间

清理方法

自动清理命令

该命令自动清理的对象如下:

  • 已经停止的容器
  • 未被任何容器使用的卷
  • 未被任何容器所关联的网络
  • 所有悬空的镜像
docker system prune # 对空间进行自动清理
docker system prune -a #清除所有未被使用的镜像和悬空镜像
docker system prune -f #用以强制删除不提示信息

针对容器和镜像的删除命令:

docker image prune #删除悬空的镜像
docker container prune #删除无用的容器
#
# 默认情况下docker container prune命令会清理掉所有处于stopped状态的容器
#
docker volume prune # 删除无用的卷
docker network prune # 删除无用的网络

手动清除

  • 清理卷
    如果卷占用过高,可以清除一些不使用的卷,包括一些未被任何容器调用的卷(-v 详细信息中若显示LINKS=0,则未被调用)
    docker volume rm $(docker volume ls -qf dangling=true)
  • 容器清理
    如果发现是容器占用过高的空间,可以手动删除一些:
    删除所有已退出的容器:
    docker rm -v $(docker ps -aq -f status=exited)
    删除所有状态为dead的容器
    docker rm -v $(docker ps -aq -f status=dead)