当前位置: 首页 > news >正文

Docker 加载镜像时报 no space left on device 的彻底解决方案

目录

  • 一、现象与初步判断
  • 二、彻底释放空间的思路
  • 三、操作步骤(生产可用)
    • 1、停止 Docker
    • 2、创建新目录
    • 3、同步旧数据
    • 4、备份旧目录
    • 5、修改 Docker 配置
    • 6、启动 Docker
    • 7、验证是否生效
    • 8、删除旧备份(释放空间)
  • 四、重新导入镜像
  • 五、经验总结
  • 六、附加命令:快速清理大文件

在一次部署 FastDDS 镜像的过程中,我们执行如下命令:

sh start_fastdds_pub.sh

脚本内部会先删除旧镜像、再通过 docker load -i fastdds_2.8.0.tar 重新加载镜像。
结果报错:

write /blobs/sha256/635e6bb12b404837cd39744c12bf83886fb46a0ef9550b7f945fa991d9d4c802: no space left on device

即 “磁盘空间不足”。本文记录从排查到彻底解决的完整过程。


一、现象与初步判断

运行 df -h 后发现:

/dev/sda3        46G   45G  818M  99% /
/dev/sda5        30G  359M   30G   2% /data

在这里插入图片描述

根分区(/)几乎被占满,而 Docker 的默认数据目录 /var/lib/docker 正好在这个分区上。
这意味着 Docker 镜像、容器的写层都挤在 / 里,导致空间爆满。


二、彻底释放空间的思路

既然 /data 分区还有 30G 空闲,我们可以把 Docker 的数据根目录迁过去,这样以后所有镜像、容器都不再占用 /


三、操作步骤(生产可用)

1、停止 Docker

systemctl stop docker

2、创建新目录

mkdir -p /data/docker

3、同步旧数据

rsync -aH --delete /var/lib/docker/ /data/docker/ \2>/dev/null || cp -a /var/lib/docker/. /data/docker/

4、备份旧目录

mv /var/lib/docker /var/lib/docker.bak

5、修改 Docker 配置

新建或修改 /etc/docker/daemon.json

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

6、启动 Docker

systemctl start docker

7、验证是否生效

docker info | grep "Docker Root Dir"

在这里插入图片描述

8、删除旧备份(释放空间)

rm -rf /var/lib/docker.bak

在这里插入图片描述


四、重新导入镜像

docker load -i /opt/data/fast_demo/fastdds_2.8.0.tar

若显示:

Loaded image: fastdds:2.8.0

说明镜像成功导入。


五、经验总结

项目原因解决方式
报错内容/var/lib/docker 空间耗尽查看根分区与 overlay 挂载情况
docker system prune 无效overlay 层未被清理手动清理或迁移 Docker 根目录
推荐做法将 Docker 数据迁到大分区 /data修改 daemon.jsondata-root
验证方式docker info + df -h观察 /data 增长、/ 降低

六、附加命令:快速清理大文件

# 找出最大目录
du -xh /var/lib/docker | sort -h | tail -n 20# 截断容器日志
find /var/lib/docker/containers -name "*-json.log" -exec truncate -s 0 {} \;# 清理系统日志
journalctl --vacuum-size=500M
http://www.dtcms.com/a/580897.html

相关文章:

  • 5、prometheus标签
  • python+django/flask基于机器学习的就业岗位推荐系统
  • Mysql作业5
  • 为什么Vue 3需要ref函数?它的响应式原理与正确用法是什么?
  • STM32外设学习--TIM定时器--输入捕获---测频方法(代码编写)
  • 如何设置JVM参数避开直接内存溢出的坑?
  • (七)嵌入式面试题收集:8道
  • AI搜索营销破局:光引GEO多平台适配与实时优化引擎开发详解
  • 【有源码】基于Hadoop+Spark的起点小说网大数据可视化分析系统-基于Python大数据生态的网络文学数据挖掘与可视化系统
  • Windows10 wsl2 ubuntu22.04 docker安装
  • 使用docker-compose部署应用保姆级教程
  • 【Linux工具链】从跨平台适配到一键部署:yum多架构支持+Vim远程编辑+gcc交叉编译,解决多场景开发效率瓶颈
  • 简单做网站企业宣传视频制作免费模板
  • 西安SEO网站建设哪家好食品网站的网页设计
  • 网站开发公司哪家好嘉兴市建设工程监理协会网站
  • 天津做一个简单的网站首页wap门户网站源码
  • 热门软件排行榜泰州网站关键词优化
  • 怎么查询网站开发公司个人网站数据库大小
  • 营销型网站和传统网站区别ui设计技能就业培训
  • 威宁住房和城乡建设局网站wordpress is ssl
  • 网站域名缴费wordpress怎么改登陆地址
  • 网站底备案号链接代码小程序登录入口qq浏览器
  • 电商网站建设功能个人网页免费域名注册入口
  • 网站建设所用系统没有文字的网站怎么优化
  • 站长工具seo综合查询隐私查询做网站功能
  • 扬州市广陵区建设局网站做代理稳妥的彩票网站有哪些
  • 软件下载类型网站怎么做建筑公司资质甲级乙级
  • 自己建站百度企业查询官网
  • 如皋建设网站wordpress中级教程
  • 正规轻电商网站模板做美足网站违法吗