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使用Swarm组建集群的方法

    Docker使用Swarm组建集群的方法

    Docker 使用 Swarm 可以很方便的在多个主机上创建容器集群,并且容器之间可以跨主机网络通信。这篇文章主要介绍了Docker使用Swarm组建集群,需要的朋友可以参考下
    2017-11-11
  • docker实现mysql主从复制的示例代码

    docker实现mysql主从复制的示例代码

    Docker它不香吗?即省去了安装Mysql所需要的步骤,有多个容器之间相互资源独立,IP互不冲突,具有一定的参考价值,感兴趣的可以了解一下
    2021-08-08
  • Docker 安装 LogStash的详细过程

    Docker 安装 LogStash的详细过程

    Logstash,作为Elastic Stack家族中的核心成员之一,是一个功能强大的开源数据收集引擎,在本文中,我们将详细介绍如何借助Docker容器技术快速安装配置Logstash,以实现日志及各类事件数据的无缝集成与实时处理,感兴趣的朋友一起看看吧
    2024-03-03
  • docker 中的–mount 和-v 参数区别解析

    docker 中的–mount 和-v 参数区别解析

    这篇文章主要介绍了docker 中的–mount 和-v 参数区别解析,--mount 更为灵活,适用于更复杂的挂载需求,使用哪种方式主要取决于个人或团队的偏好和具体的使用场景,需要的朋友可以参考下
    2023-12-12
  • docker安装使用xdebug的过程

    docker安装使用xdebug的过程

    这篇文章主要介绍了docker安装使用xdebug的过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • docker容器的创建及常用操作命令详解

    docker容器的创建及常用操作命令详解

    这篇文章主要为大家介绍了docker容器的创建及常用操作命令详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • Spring Boot 分层打包 Docker 镜像实践及分析(推荐)

    Spring Boot 分层打包 Docker 镜像实践及分析(推荐)

    这篇文章主要介绍了Spring Boot 分层打包 Docker 镜像实践及分析,本文通过图文并茂的形式实例代码相结合给大家介绍的非常详细,需要的朋友可以参考下
    2021-12-12
  • CentOS7 Docker防火墙的简单配置教程

    CentOS7 Docker防火墙的简单配置教程

    这篇文章主要给大家介绍了关于CentOS7 Docker防火墙的简单配置方法,以及总结了docker在centos7下的一些坑,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-12-12
  • docker部署Vaultwarden密码共享管理系统的实现(图文)

    docker部署Vaultwarden密码共享管理系统的实现(图文)

    Vaultwarden是一个开源的密码管理器,它提供了类似于Bitwarden的功能,允许用户安全地存储和管理密码、敏感数据和身份信息,本文主要介绍了docker部署Vaultwarden密码共享管理系统的实现,感兴趣的可以了解一下
    2023-10-10
  • docker镜像导入导出的两种方法

    docker镜像导入导出的两种方法

    本文主要介绍了docker镜像导入导出的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03

最新评论