Docker存储空间清理以及另外的一些命令

 更新时间:2024年03月11日 09:36:09   作者:豆小匠  
大家在使用一段时间的docker容器后,会发现堆叠了很多无用的垃圾文件,比如,终止的容器、限定不要的镜像,混乱的存储等,这篇文章主要介绍了Docker存储空间清理以及另外的一些命令的相关资料,需要的朋友可以参考下

不知不觉服务器存储空间被Docker掏空了…

查看Docker空间占用情况

使用docker system df命令,可以加 -v 查看详情

清理Docker不需要的内容

使用docker system prune -a命令清理Docker

  • 所有停止的容器
  • 所有没有被使用的networks
  • 所有没容器的镜像
  • 所有build cache

    清理效果非常可观。

另外的一些命令

# 清理无用的容器(退出的容器)
docker ps -aq --filter "status=exited" | xargs docker rm

# 清理无用的镜像(无任何容器关联)
docker images -q --filter "dangling=true" | xargs docker rmi

# 清理未被使用的数据卷
docker volume ls -qf dangling=true | xargs docker volume rm

# 清理网络资源
docker network ls | grep "bridge" | awk '/ / { print $1 }' | xargs docker network rm

# 清理所有容器、镜像和网络(慎用)
docker container stop $(docker container ls -aq)
docker container rm $(docker container ls -aq)
docker image rm $(docker image ls -aq)
docker network rm $(docker network ls -q)

附:简单几步自动释放Docker占用空间

介绍五种清理Docker占用的磁盘空间的方法:清理未使用的容器、清理未使用的镜像、清理临时文件、清理指定容器的临时文件和自动清理。

  • 清理未使用的容器:使用以下命令可以清理所有未运行的容器:
docker rm $(docker ps -a -q)

该命令会删除所有未运行的容器。如果你只想删除一个特定的容器,可以使用容器的 ID 或名称作为参数。

  • 清理未使用的镜像:使用以下命令可以清理所有未使用的镜像:
docker image prune

该命令会删除所有未使用的镜像。如果你只想删除特定的镜像,可以使用镜像的 ID 或名称作为参数。

  • 清理临时文件:使用以下命令可以清理 Docker 生成的临时文件:
docker system prune -a

该命令会删除所有未使用的容器、镜像和临时文件。

  • 清理未使用的容器:如果要清理stop状态的容器,可以使用以下命令:
docker container prune

该命令会删除所有未运行的容器,但保留未使用的镜像和临时文件。

  • 自动清理:你可以编写一个脚本,将这些命令组合起来并定期运行。

例如,你可以创建一个 cron 任务来定期清理 Docker 空间。下面给一个简单的 cron 任务示例,每周日的凌晨 1 点清理 Docker 空间:

0 1 * * sun /path/to/cleanup_docker.sh

在终端里输入命令 “crontab -e” 以编辑当前用户的cron任务列表,加入上述命令,然后在 /path/to/cleanup_docker.sh 中,可以将清理命令组合起来,例如:

#!/bin/bash  
# 清理临时文件
docker system prune -a  
# 清理未使用的容器
docker container prune

需要将 /path/to/cleanup_docker.sh 替换为实际的脚本路径。

总结 

到此这篇关于Docker存储空间清理以及另外的一些命令的文章就介绍到这了,更多相关Docker存储空间清理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker连接超时的5种快速解决方法总结

    Docker连接超时的5种快速解决方法总结

    在实际的开发和测试过程中,模拟网络请求超时是非常有必要的,因为在真实的生产环境中,网络请求超时是常见的情况之一,这篇文章主要介绍了Docker连接超时的5种快速解决方法,需要的朋友可以参考下
    2025-08-08
  • docker下修改mysql配置文件的方法

    docker下修改mysql配置文件的方法

    这篇文章主要介绍了docker下修改mysql配置文件的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • 解决Jenkins集成docker插件问题的一些方法

    解决Jenkins集成docker插件问题的一些方法

    本文主要介绍了Jenkins集成docker插件问题的一些方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • Docker一键部署springcloud项目的方法

    Docker一键部署springcloud项目的方法

    本文主要介绍了Docker一键部署springcloud项目的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • Spring Boot Docker打包工具小结

    Spring Boot Docker打包工具小结

    本文对几种常见的Spring Boot Docker打包工具进行了简单总结,感兴趣的朋友跟随小编一起看看吧
    2021-05-05
  • 从Docker容器复制文件到主机的四种方法

    从Docker容器复制文件到主机的四种方法

    在使用Docker进行开发和部署时,有时需要将容器内生成的构建工件复制到主机上,例如,在持续集成服务器上使用Docker构建依赖项,而不希望在代理服务器上安装所有运行时和库,所以本文给大家介绍了从Docker容器复制文件到主机的四种方法
    2025-06-06
  • Gitlab-runner+Docker实现自动部署SpringBoot项目

    Gitlab-runner+Docker实现自动部署SpringBoot项目

    这篇文章主要介绍了Gitlab-runner+Docker自动部署SpringBoot项目,我们的主要流程就是通过Gitlab管理代码,然后利用Gitlab自带的Gitlab CI/CD功能与GitlabRunner进行注册绑定,需要的朋友可以参考下
    2022-04-04
  • Docker 命令自动补全的实现

    Docker 命令自动补全的实现

    这篇文章主要介绍了Docker 命令自动补全的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Docker 容器之间的互相通信实现示例

    Docker 容器之间的互相通信实现示例

    本文主要介绍了Docker 容器之间的互相通信实现示例,通过创建自定义网络,你可以轻松地在 Docker 容器之间建立通信,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • 详解docker中使用systemctl启动服务报错的解决办法

    详解docker中使用systemctl启动服务报错的解决办法

    这篇文章主要介绍了详解docker中使用systemctl启动服务报错的解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08

最新评论