网站建设规划设计书,做网站一月工资,开发公司工程部岗位职责,主题巴巴wordpress背景
在一次更新业务服务功能后#xff0c;重新在服务器上构建微服务镜像#xff0c;在构建镜像时报错空间不足#xff1a; /var/lib/docker, no space left on device 赶紧用 df -h 看了下磁盘使用情况#xff0c;果然#xff0c; devicemapper 已经满了。。由于需要紧急…背景
在一次更新业务服务功能后重新在服务器上构建微服务镜像在构建镜像时报错空间不足 /var/lib/docker, no space left on device 赶紧用 df -h 看了下磁盘使用情况果然 devicemapper 已经满了。。由于需要紧急上线没有采用迁移 Docker 工作目录的方式而是想办法删除一些没用的文件空出本次镜像构建、容器运行的空间。
devicemapper
在处理问题前先来了解下什么是 docker/devicemapper 这个目录存储了 Docker 使用 devicemapper 存储驱动时的相关数据。这包括镜像、容器和卷的数据。 Devicemapper 是 Docker 的一种存储驱动程序它使用块设备来存储 Docker 容器的数据。在 docker/devicemapper 目录中我们可以看到 metadata、snapshots 和 thinpool 等文件和目录用于存储 devicemapper 驱动所需的数据。
腾出空间
你可以删除 docker/devicemapper 目录下的内容但请注意这将导致丢失所有存储在其中的镜像、容器和卷的数据。如果想要清理这些数据最好使用 Docker 提供的命令来进行清理以确保数据被正确地清理并且不会导致系统不稳定。为了给本次镜像构建、容器运行腾出空间我主要采用了以下命令。
检查Docker数据目录的大小 du -sh /var/lib/docker 查找并删除一些过旧或者不再需要的日志文件 find /var/lib/docker/devicemapper/mnt -name “*.log” -type f -exec rm {} ; 查找并删除一些过旧或者不再需要的临时文件 find /var/lib/docker/devicemapper/mnt -name “*.tmp” -type f -exec rm {} ; 删除无用卷 docker volume rm $(docker volume ls -qf danglingtrue) 清理dangling image docker rmi $(docker images --filter “danglingtrue” -q --no-trunc) 清理无用的镜像和容器 docker system prune -a # 检查Docker数据目录的大小
du -sh /var/lib/docker# 查找并删除一些过旧或者不再需要的日志文件
find /var/lib/docker/devicemapper/mnt -name *.log -type f -exec rm {} \; # 查找并删除一些过旧或者不再需要的临时文件
find /var/lib/docker/devicemapper/mnt -name *.tmp -type f -exec rm {} \; # 删除无用卷
docker volume rm $(docker volume ls -qf danglingtrue)# 清理dangling image
docker rmi $(docker images --filter danglingtrue -q --no-trunc)# 清理无用的镜像和容器
docker system prune -a调整Docker的数据目录 如果你的Docker数据目录通常是/var/lib/docker所在的分区空间不足也可以考虑将其迁移到空间更大的分区。具体的迁移方式网上教程很多由于我这次 没有亲身实践就省略这部分了。 最终通过删除无用卷 docker volume rm $(docker volume ls -qf danglingtrue) 这条命令成功空出了2G的磁盘空间。
小总结
解决问题的方法有很多种因为每个问题都有其独特的特点和背景。在选择解决方案时需要考虑问题的性质、规模和环境。有时候简单的问题可能需要简单的解决方案而复杂的问题可能需要更加深入的分析和综合的解决方案。因此对于不同的场景我们需要灵活运用各种工具、技术和方法来解决问题以达到最佳的效果。
比如这次遇到的问题你可以尝试清理不必要的镜像和容器来释放空间。另外也可以考虑调整devicemapper的配置比如增加数据卷的大小或者切换到其他存储驱动。但是最重要的是记得在操作之前备份数据。
Reference
https://blog.51cto.com/u_16175464/7097163 If you have any questions or any bugs are found, please feel free to contact me.
Your comments and suggestions are welcome!