Docker释放空间几种常用的清理方法

 更新时间:2026年04月30日 10:41:24   作者:Riu_Peter  
随着Docker的广泛使用,管理Docker占用的磁盘空间变得越来越重要,长时间运行Docker环境,未使用的容器、镜像、卷和网络等会逐渐积累,这篇文章主要介绍了Docker释放空间几种常用的清理方法,需要的朋友可以参考下

前言

Docker 在使用过程中会产生大量临时文件、停止的容器、悬空镜像和构建缓存,及时清理可以释放宝贵的磁盘空间。以下是几种常用的清理方法,按从安全通用彻底激进的顺序排列。

1. 一键清理(最常用)

使用 docker system prune 命令,它会清理所有未使用的资源(停止的容器、悬空镜像、未使用的网络、构建缓存)。

# 标准清理(只删除悬空镜像,不删除未使用的卷)
docker system prune

# 彻底清理(添加 -a 删除所有未使用的镜像,添加 --volumes 删除未使用的卷)
docker system prune -a --volumes

注意:添加 --volumes 会删除未被任何容器使用的卷,操作前请确认数据是否需要保留

2. 分类清理(针对性操作)

如果只想清理特定类型的资源,可以使用以下命令。

清理容器

# 删除所有已停止的容器
docker container prune

# 删除所有已停止的容器(并强制)
docker container prune -f

# 删除所有容器(包括运行中的,需加 -f 强制)
docker rm -f $(docker ps -aq)

清理镜像

# 删除悬空镜像(无标签、无容器的中间层)
docker image prune

# 删除所有未使用的镜像(包括未被容器使用的)
docker image prune -a

# 删除所有镜像(谨慎使用)
docker rmi -f $(docker images -q)

清理卷

卷是用于持久化数据的,清理需格外谨慎。

# 删除所有未使用的卷
docker volume prune

# 查看卷占用空间
docker system df -v

清理构建缓存

# 删除所有构建缓存
docker builder prune

# 彻底清理构建缓存
docker builder prune -a

3. 查看磁盘占用情况

在清理前后,可以用以下命令查看 Docker 的资源占用情况:

# 显示总览(容器、镜像、卷、构建缓存各自占用)
docker system df

# 显示更详细的列表
docker system df -v

4. 自动化清理(推荐定期执行)

可以设置 cron 任务(Linux)或 计划任务(Windows/macOS)定期自动清理。

例如在 Linux 中,编辑 crontab:

crontab -e

添加一行,每周日凌晨 3 点执行清理:

0 3 * * 0 docker system prune -f

5. 特殊情况:清理所有停止容器和镜像(慎用)

如果你确信不需要任何已停止的容器和未使用的镜像,可以执行以下组合命令:

# 停止所有运行中的容器(可选)
docker stop $(docker ps -q)

# 删除所有容器
docker rm -f $(docker ps -aq)

# 删除所有镜像
docker rmi -f $(docker images -q)

# 删除所有卷(慎用)
docker volume rm $(docker volume ls -q)

# 删除所有网络(除默认外)
docker network prune

总结建议

场景推荐命令
日常清理docker system prune
释放较多空间docker system prune -a
连卷也清理(数据不保留)docker system prune -a --volumes
查看占用docker system df -v
定期自动清理crontab + docker system prune -f

提醒:清理卷 (--volumes) 会删除容器未使用的数据卷,如果容器中保存了数据库或重要文件,务必确认这些卷是否还在使用中,以免数据丢失。

到此这篇关于Docker释放空间几种常用的清理方法的文章就介绍到这了,更多相关Docker释放空间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 启动docker的时候如何把参数传递给docker里面的项目(推荐)

    启动docker的时候如何把参数传递给docker里面的项目(推荐)

    这篇文章主要介绍了启动docker的时候如何把参数传递给docker里面的项目,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • 简单谈谈Docker镜像的使用方法

    简单谈谈Docker镜像的使用方法

    本次分享从个人的角度,讲述对于Docker镜像的使用方法,包括了从从Docker Hub或者其他镜像源安装Docker镜像,从Image file安装Docker镜像,从Docker file制作Docker镜像,有需要的小伙伴可以参考下
    2016-10-10
  • 聊聊Docker不适合跑 MySQL 的N个原因

    聊聊Docker不适合跑 MySQL 的N个原因

    容器是为了解决“在切换运行环境时,如何保证软件能够正常运行”这一问题,这篇文章主要介绍了Docker 为什么不适合跑 MySQL?有N个原因,需要的朋友可以参考下
    2022-12-12
  • docker 数据目录迁移的两种实现方法

    docker 数据目录迁移的两种实现方法

    本文主要介绍了docker 数据目录迁移的两种实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-03-03
  • 基于Docker的微服务自动化部署系统全解析

    基于Docker的微服务自动化部署系统全解析

    本文介绍了基于Docker的微服务自动化部署系统的设计与实现,该系统通过模块化设计,包括服务发现、容器编排、监控告警等功能,实现了微服务的自动化部署、运维和监控,提高了部署效率和稳定性,感兴趣的朋友跟随小编一起看看吧
    2026-01-01
  • Docker Attach 命令及操作场景应用(容器交互机制)

    Docker Attach 命令及操作场景应用(容器交互机制)

    Docker attach用于连接运行容器的IO流,实现调试与监控,核心参数包括--detach-keys自定义退出键、--no-stdin避免误操作,生产环境建议配合安全配置使用,开发环境可灵活操作,接下来通过本文给大家介绍Docker Attach 命令的操作应用,感兴趣的朋友一起看看吧
    2025-08-08
  • docker安装并使用 ollama的步骤

    docker安装并使用 ollama的步骤

    文章介绍了如何通过Docker安装并使用Ollama,包括CPU和GPU启动方式,以及如何进入容器、通过API进行单轮和多轮对话,感兴趣的朋友跟随小编一起看看吧
    2026-03-03
  • Docker定制容器镜像的2种方法(推荐)

    Docker定制容器镜像的2种方法(推荐)

    本篇文章主要介绍了Docker定制容器镜像的2种方法(推荐),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • docker安装redis并以配置文件方式启动详解

    docker安装redis并以配置文件方式启动详解

    这篇文章主要介绍了docker安装redis并以配置文件方式启动详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Docker容器开启设置自动启动的实现方法

    Docker容器开启设置自动启动的实现方法

    通过在Docker中设置容器的默认启动命令,我们可以实现在容器启动时自动启动服务的功能,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10

最新评论