8个步骤彻底清理Docker镜像

 更新时间:2025年09月21日 09:45:26   作者:wx5bcd2f496a1cf  
本文主要介绍了8个步骤彻底清理Docker镜像,包括查看镜像、删除指定镜像、批量清理未使用镜像、按时间或大小过滤、脚本自动化及定时任务等,感兴趣的可以了解一下

在日常开发和维护工作中,Docker 镜像管理是一件既繁复又必要的工作。镜像积累如山,不仅占用宝贵的磁盘空间,还可能给我们的工作带来不便。今天,就让我带大家深入了解如何高效清理 Docker 镜像,保持我们的开发环境干净整洁。

1.查看镜像并评估

首先,我们需要知道自己的“战场”:

docker images -a

-a 参数会列出所有镜像,包括中间层镜像。检查一下这些镜像,评估哪些是必要的,哪些是可以删除的。

2.删除指定镜像

对于不再需要的镜像,我们可以使用它们的 ID、仓库名或标签来删除:

docker rmi [镜像ID或仓库名:标签]

3.批量删除无用镜像

清理所有悬挂(即无标签)镜像,这些通常是构建过程中留下的:

docker image prune

加上 -a 参数,可以删除所有未被容器引用的镜像:

docker image prune -a

4.清理特定时间前的镜像

当我们需要清理一定时间之前的镜像时,可以使用过滤器:

docker image prune -a --filter "until=168h"

上面的命令会删除所有创建时间超过168小时(7天)的镜像。

5.按照大小排序

有时候,我们想优先删除体积较大的镜像来快速释放空间:

docker images --format '{{.Size}}\t{{.Repository}}:{{.Tag}}' | sort -hr

这样我们可以直观地看到哪些镜像占用空间较大,然后手动删除。

6.使用脚本自动化

如果有一系列复杂的清理规则,我们可以编写一个简单的脚本来自动化这个过程。比如:

#!/bin/bash
# 清理所有未使用的镜像和容器
docker system prune -af
# 删除所有1.0版本开头的镜像
docker images | grep '1.0' | awk '{print $3}' | xargs docker rmi

7.定时自动清理

利用 cron 定时任务,可以设定周期性清理工作:

# 每天凌晨两点执行清理
0 2 * * * /path/to/your/script.sh

8.删除特定模式的镜像

对于复杂的模式匹配,我们可以使用更精细的 grep 命令:

docker images | grep '仓库名.*1.0' | awk '{print $3}' | xargs docker rmi

记得替换 '仓库名' 为你的实际仓库名。

注意事项

再次提醒,执行删除操作前,务必确认不会丢失重要数据。定期备份和清理是保持 Docker 环境健康的关键。同时,也要确保没有正在运行的服务会受到影响。

通过上面的分享,相信大家已经对如何清理 Docker 镜像有了更加全面和深入的认识。希望这些方法能帮到你。

到此这篇关于8个步骤彻底清理Docker镜像的文章就介绍到这了,更多相关清理Docker镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • Docker部署SQL Server及最佳应用小结

    Docker部署SQL Server及最佳应用小结

    SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),本文总结了容器环境下的部署及实践应用,需要的朋友可以参考下
    2022-08-08
  • 如何一次重启所有已停止的docker容器

    如何一次重启所有已停止的docker容器

    这篇文章主要介绍了如何一次重启所有已停止的docker容器问题,
    2024-01-01
  • Docker 部署Scrapy的详解

    Docker 部署Scrapy的详解

    这篇文章主要介绍了Docker 部署Scrapy的详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • Docker使用Bind9实现域名解析的思路详解

    Docker使用Bind9实现域名解析的思路详解

    这篇文章主要介绍了DOCKER使用BIND9实现域名解析,主要包括刷新服务修改配置文件信息,实现思路也很简单,本文给大家介绍的非常详细对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-11-11
  • docker_data.vhdx占用系统盘过大的问题解决办法

    docker_data.vhdx占用系统盘过大的问题解决办法

    docker_data.vhdx文件是docker用于存储容器,镜像和卷数据的虚拟硬盘文件,直接复制或迁移可能导致数据不一致或损坏,这篇文章主要介绍了docker_data.vhdx占用系统盘过大的问题解决办法,需要的朋友可以参考下
    2026-04-04
  • Ubuntu20.04上安装docker步骤及docker使用方法

    Ubuntu20.04上安装docker步骤及docker使用方法

    Docker是一个可以简化容器中应用程序进程管理过程的应用程序,容器允许你在资源隔离的进程中运行应用程序,这篇文章主要介绍了Ubuntu20.04上安装docker步骤及docker使用的相关资料,需要的朋友可以参考下
    2026-04-04
  • Docker常见命令整理汇总(包括镜像命令、容器命令)

    Docker常见命令整理汇总(包括镜像命令、容器命令)

    这篇文章主要给大家介绍了关于Docker常见命令整理汇总的相关资料,包括镜像命令、容器命令等等,通过一个个示例来加深各位看官对docker相关命令的理解以及记忆,需要的朋友可以参考下
    2022-07-07
  • 在云服务器上基于docker安装jenkins的实现步骤

    在云服务器上基于docker安装jenkins的实现步骤

    本文主要介绍了在云服务器上基于docker安装jenkins的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • 一次centos Docker网桥模式无法访问宿主机Redis服务的故障排除经历

    一次centos Docker网桥模式无法访问宿主机Redis服务的故障排除经历

    这篇文章主要给大家介绍了关于一次centos Docker网桥模式无法访问宿主机Redis服务的故障排除经历,文中通过示例代码介绍的非常详细,对大家学习或者使用Docker具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-10-10
  • Docker 下载镜像慢的问题解决方法

    Docker 下载镜像慢的问题解决方法

    这篇文章主要介绍了Docker 解决下载镜像慢的问题的相关资料,这里提供了具体实现方法,需要的朋友可以参考下
    2016-11-11

最新评论