docker实现资源清理方式

 更新时间:2024年02月04日 14:55:27   作者:ghostwritten  
这篇文章主要介绍了docker实现资源清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

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

总结

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

相关文章

  • ubuntu如何完全干净的卸载docker

    ubuntu如何完全干净的卸载docker

    这篇文章主要介绍了ubuntu如何完全干净的卸载docker问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Docker部署Nginx并配置反向代理

    Docker部署Nginx并配置反向代理

    这篇文章介绍了Docker部署Nginx并配置反向代理的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-01
  • Docker容器 日志中文乱码问题解决办法

    Docker容器 日志中文乱码问题解决办法

    这篇文章主要介绍了Docker容器 日志中文乱码问题解决办法的相关资料,需要的朋友可以参考下
    2016-12-12
  • CentOS 6.5 制作可以ssh登录的Docker镜像

    CentOS 6.5 制作可以ssh登录的Docker镜像

    这篇文章主要介绍了CentOS 6.5 制作可以ssh登录的Docker镜像,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Ollma本地部署Qwen2.5 14B的详细过程(不使用docker)

    Ollma本地部署Qwen2.5 14B的详细过程(不使用docker)

    本文介绍了如何在不使用Docker的情况下部署Ollama模型和Open-webui实现可视化界面,Ollama模型通过命令行操作,包括启动、创建、运行等,Open-webui则需要安装Anaconda环境,安装并启动服务后,通过浏览器访问即可使用,感兴趣的朋友跟随小编一起看看吧
    2024-11-11
  • centos7 安装docker步骤详细介绍

    centos7 安装docker步骤详细介绍

    这篇文章主要介绍了centos7 安装docker步骤详细介绍的相关资料,需要的朋友可以参考下
    2017-01-01
  • 解决Docker network Create加--subnet后遇到问题

    解决Docker network Create加--subnet后遇到问题

    这篇文章主要介绍了解决Docker network Create加--subnet后遇到问题。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • VSCode连接远程docker环境操作步骤

    VSCode连接远程docker环境操作步骤

    这篇文章主要介绍了如何在容器内部署和配置,包括查看Docker版本、管理容器和镜像、构建容器、配置容器内部环境、安装和配置VSCode以及远程连接和配置远程Docker容器环境,需要的朋友可以参考下
    2025-03-03
  • 如何Docker化Python Django应用程序

    如何Docker化Python Django应用程序

    今天小编就为大家分享一篇关于如何Docker化Python Django应用程序的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-09-09
  • Docker-Compose实现Mysql主从的示例代码

    Docker-Compose实现Mysql主从的示例代码

    本文主要介绍了Docker-Compose实现Mysql主从的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06

最新评论