docker实现资源清理方式,


目录
  • 1. 查看 docker 占用资源
  • 2. 清理
    • 删除镜像
    • 删除容器
    • 删除所有镜像
    • 删除所有容器
  • 总结

    1. 查看 docker 占用资源

    docker container ls    #默认只列出正在运行的容器,-a 选项会列出包括停止的所有容器。
    docker image l   s# 列出镜像信息,-a 选项会列出 intermediate 镜像(就是其它镜像依赖的层)。
    docker volume ls #列出数据卷。
    docker network ls #列出 network。
    docker info #显示系统级别的信息,比如容器和镜像的数量等。
    
     du -sh /var/lib/docker/volumes/
     du -sh /var/lib/docker/devicemapper
     du -sh /var/lib/docker/tmp
    

    2. 清理

    删除镜像

    sudo docker rmi <Image Name>

    删除容器

    sudo docker rm <Container Name>

    删除所有镜像

    sudo docker rmi -a

    删除所有容器

    sudo docker rm -a

    另外,容器的数据卷(volume)也是占用磁盘空间,可以通过以下命令删除失效的volume:

    sudo docker volume rm $(docker volume ls -qf dangling=true)

    或者

    docker volume ls -f dangling=true | awk '{ print $2 }' | xargs docker volume rm

    当然,最暴力的方式是删除Docker存储镜像,容器与数据卷的目录(/var/lib/docker)

    谨慎使用!!!:

    sudo service docker stop
    sudo rm -rf /var/lib/docker
    sudo service docker start
    

    只删除那些未被使用的资源

    docker system prune

    安全起见,这个命令默认不会删除那些未被任何容器引用的数据卷,如果需要同时删除这些数据卷,

    你需要显式的指定 --volumns 参数。

    比如你可能想要执行下面的命令:

    docker system prune --all --force --volumns

    <none> 镜像。

    这表示旧的镜像已经不再被引用了

    此时它们就变成了 dangling images

    #批量清理容器
    docker container prune # 删除所有退出状态的容器
    #or
    docker ps --filter status=dead --filter status=exited -aq | xargs -r docker rm -v
    
    docker volume prune # 删除未被使用的数据卷
    docker network prune #清理没有再被任何容器引用的networks
    docker network prune --filter "until=24h" #清理没有被引用的、创建超过24小时的networks
    docker image prune # 删除 dangling 或所有未被使用的镜像
    docker image prune -a #清除所有没有容器引用的镜像
    docker image prune -a --filter "until=24h" # 只清除超过创建时间超过24小时的镜像
    docker images --no-trunc | grep '<none>' | awk '{ print $3 }' | xargs -r docker rmi
    

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持PHP之友。

    您可能感兴趣的文章:
    • 如何快速清理 docker 资源的方法
    • Docker中Cgroup资源配置的实现
    • docker资源限制和compose部署详解
    • 关于docker cgroups资源限制的问题
    • docker资源控制管理Cgroup的实现

    相关内容