docker 的volumes清理步骤

 更新时间:2025年03月20日 10:56:13   作者:会飞的土拨鼠呀  
文章介绍了如何在Docker中清理volumes以释放磁盘空间,包括查看所有卷、查找未使用的卷、清理未使用的卷、手动删除特定卷、检查卷的使用情况、清理卷中的数据、预防措施以及迁移Docker数据目录等步骤,感兴趣的朋友一起看看吧

在 Docker 中,volumes 是用于持久化存储容器数据的机制。如果 volumes 占用了大量磁盘空间,可以通过以下方法进行清理:

1. 查看所有 Docker 卷

使用以下命令列出所有 Docker 卷:

docker volume ls

2. 查找未使用的卷

使用以下命令查找未被任何容器使用的卷:

docker volume ls -qf dangling=true

3. 清理未使用的卷

使用以下命令删除所有未使用的卷:

docker volume prune

系统会提示确认,输入 y 即可。

4. 手动删除特定卷

如果知道某个卷的名称,可以手动删除它。例如:

docker volume rm <volume_name>

5. 检查卷的使用情况

如果某个卷正在被容器使用,需要先停止并删除关联的容器。

查找使用卷的容器

使用以下命令查找使用特定卷的容器:

docker ps -a --filter volume=<volume_name>

停止并删除容器

停止并删除使用该卷的容器:

docker stop <container_id>docker rm <container_id>

删除卷

删除不再使用的卷:

docker volume rm <volume_name>

6. 清理卷中的数据

如果卷正在被使用,但卷中的数据占用了大量空间,可以手动清理卷中的数据。

进入卷目录

Docker 卷的存储路径通常位于 /var/lib/docker/volumes/<volume_name>/_data。例如:

cd /var/lib/docker/volumes/<volume_name>/_data

查找大文件

使用以下命令查找占用空间大的文件:

du -sh * | sort -rh | head -n 10

清理不需要的文件

删除或归档不需要的文件。例如:

rm -rf <large_file_or_directory>

7. 预防措施

为了避免 volumes 占用过多磁盘空间,可以采取以下措施:

  • 定期清理:使用 docker volume prune 定期清理未使用的卷。
  • 限制数据增长:在运行容器时,限制数据卷的大小或定期清理数据卷中的文件。
  • 使用外部存储:将容器生成的数据存储到外部存储(如 NFS、云存储等),而不是直接存储在 Docker 卷中。

8. 迁移 Docker 数据目录(可选)

如果磁盘空间不足,可以考虑将 Docker 数据目录迁移到更大的磁盘分区。以下是迁移步骤:

停止 Docker 服务

systemctl stop docker

迁移数据目录

/var/lib/docker 复制到新的目录:

rsync -aP /var/lib/docker /new/docker/path

修改 Docker 配置文件

编辑 Docker 配置文件(通常是 /etc/docker/daemon.json),添加以下内容:

{  "data-root": "/new/docker/path"}

启动 Docker 服务

systemctl start docker

总结

通过以上方法,你可以清理 Docker 的 volumes 并释放磁盘空间。如果卷正在被使用,需要先停止并删除关联的容器,或者手动清理卷中的数据。定期清理和优化数据存储策略可以有效避免磁盘空间不足的问题。

到此这篇关于docker 的volumes如何清理的文章就介绍到这了,更多相关docker volumes清理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 嵌入式移植docker报错问题(汇总)

    嵌入式移植docker报错问题(汇总)

    这篇文章主要介绍了嵌入式移植docker报错问题(汇总),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Linux安装Docker全过程

    Linux安装Docker全过程

    Docker是容器化平台,实现应用环境一致性和高效部署,安装步骤包括配置仓库、安装引擎、启动服务并设置开机自启,更换国内镜像源可提升下载速度,通过编辑配置文件并重启服务完成
    2025-09-09
  • Docker中的容器网络和通信原理详解

    Docker中的容器网络和通信原理详解

    这篇文章主要介绍了Docker中的容器网络和通信原理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • Docker 文件系统-AUFS 原理介绍

    Docker 文件系统-AUFS 原理介绍

    这篇文章主要介绍了Docker 文件系统-AUFS原理,Docker 主要是基于 Namespace、cgroups 和联合文件系统这三大核心技术实现的,下文相关内容需要的小伙伴可以参考一下
    2022-04-04
  • Docker同时安装MySQL和MariaDB的方法步骤

    Docker同时安装MySQL和MariaDB的方法步骤

    这篇文章主要介绍了Docker同时安装MySQL和MariaDB的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Docker简单安装与应用入门教程

    Docker简单安装与应用入门教程

    这篇文章主要介绍了Docker简单安装与应用,结合实例形式分析了Docker常见的安装、应用构建、终端访问等操作相关实现技巧与注意事项,需要的朋友可以参考下
    2018-06-06
  • 给运行中的docker容器添加新的端口

    给运行中的docker容器添加新的端口

    今天小编就为大家分享一篇关于给运行中的docker容器添加新的端口,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • docker swam集群如何实现负载均衡

    docker swam集群如何实现负载均衡

    这篇文章主要介绍了docker swam集群如何实现负载均衡问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • docker mysql关于配置文件、连接客户端、/docker-entrypoint-initdb.d/目录的使用

    docker mysql关于配置文件、连接客户端、/docker-entrypoint-initdb.d/目录的使用

    这篇文章主要介绍了docker mysql关于配置文件、连接客户端、/docker-entrypoint-initdb.d/目录的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • docker终端中如何修改时区

    docker终端中如何修改时区

    解决Docker时区问题需检查容器是否包含Shanghai时区文件,若无则从主机复制,通过命令验证时区设置,确保正确,总结为个人经验,供他人参考
    2025-07-07

最新评论