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

【docker】docker pull拉取中不断重复下载问题,解决方案之一,磁盘空间扩容

问题类似这样

在这里插入图片描述


存储空间不足

如果 Docker 运行环境的磁盘空间不足,拉取的镜像可能会被自动清理,导致重复下载。可以检查磁盘使用情况:

df -h
docker system df

如果空间不足,可以清理一些不用的容器和镜像:

docker system prune -a

在df-h之后可以看到:
在这里插入图片描述
你的 / 根分区(/dev/mapper/ubuntu–vg-ubuntu–lv)总共 9.8G,已经用了 7.2G,只剩下 2.2G 可用空间,使用率 78%。

虽然空间还没满,但 GitLab CE 镜像通常比较大(可能超过 2GB),所以 磁盘空间可能不够,导致 docker pull 失败并重新下载。


扩容磁盘

  • 关闭虚拟机

  • 设置40G
    在这里插入图片描述

  • 然后他提示还要重新设置分区

  • 重新重启虚拟机连接后

  • 键入lsblk
    在这里插入图片描述

这里显示18.2g说明还没分配

1. 扩展 sda3 分区

  • 接着键入sudo growpart /dev/sda 3
  • 输入lsblk检查

在这里插入图片描述
发现容量扩充成功


2. 扩展 LVM 物理卷

  • sudo pvresize /dev/sda3让 LVM 识别新的空间

  • 然后检查 sudo vgdisplay

  • 可以看到 Free PE / Size 变大了

在这里插入图片描述


3. 扩展逻辑卷

  • 找到LVM逻辑卷sudo lvdisplay
  • 拓展 sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
    在这里插入图片描述

4.扩展文件系统

查看使用的是那种文件系统

df -Th /

在这里插入图片描述

如果 / 使用的是 ext4 文件系统:

sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

如果 / 使用的是 xfs

sudo xfs_growfs / 

  • 再次df -h,可以看到比一开始大了很多

在这里插入图片描述

成功

在这里插入图片描述


认识LVM

/dev/mapper/ubuntu--vg-ubuntu--lv 是你的 Linux 逻辑卷(LVM 逻辑卷),它本质上是你的 根分区 /,存放你的操作系统和文件。


简单理解 LVM(逻辑卷管理)

LVM(Logical Volume Manager)是一种灵活的磁盘管理方式,可以让你方便地扩展或缩小磁盘大小。

在你的系统里:

  1. /dev/sda3 是你的物理分区(存储数据的实际硬盘空间)。
  2. ubuntu-vg 是一个 卷组(VG,Volume Group),它把 sda3 里的空间汇总起来。
  3. ubuntu-lv逻辑卷(LV,Logical Volume),它是你实际使用的磁盘,相当于 Windows 里的 C 盘。
  4. /dev/mapper/ubuntu--vg-ubuntu--lv 就是这个逻辑卷的设备路径,最终被挂载到 /(根分区)

为什么用 LVM?

  • 方便扩展:你这次成功扩容,就是因为用了 LVM,可以动态调整大小。
  • 支持多个物理硬盘:LVM 允许你把多个硬盘合并成一个存储池,比如 /dev/sda3 + /dev/sdb1 可以变成一个大分区。
  • 快照功能:LVM 可以创建“快照”,让你在升级或维护前备份数据,出问题时可以快速恢复。

总结

  • /dev/mapper/ubuntu--vg-ubuntu--lv 是你的 根分区 /,但它是 LVM 逻辑卷,而不是直接使用 sda3
  • 你这次扩容成功,是因为 LVM 让你可以动态调整分区大小! 🎉

如果你想更直观地理解,可以运行:

lsblk

它会显示 LVM 结构,比如:

sda        40G
├─sda1      1M
├─sda2    1.8G  /boot
└─sda3   38.2G
   └─ubuntu--vg-ubuntu--lv  38G  /

这说明 / 现在正确地扩展到了 38G! 🚀


https://github.com/0voice

相关文章:

  • 【Matlab仿真】Matlab Function中如何使用静态变量?
  • Solidity 开发环境
  • 【含文档+PPT+源码】基于微信小程序的农产品自主供销商城系统
  • 2.1部署logstash:9600
  • JavaWeb-GenericServlet源码分析(适配器/模板方法)
  • ref和reactive的区别 Vue3
  • Java进阶(vue基础)
  • 对比 Vue 中的 defineAsyncComponent 和 React 中的 lazy
  • 虚中断理解
  • 面试基础----ReentrantLock vs Synchronized
  • idea创建第一个springboot程序
  • dart语言基本介绍及基本语法
  • 树莓派学习【2】开机自动启动程序的方法
  • Android 8.0 (API 26) 对广播机制做了哪些变化
  • MQTT实现智能家居------4、在Linux上运行MQTT
  • MySql常用指令
  • 请谈谈 React 中的状态管理,如何使用 Context API 和 Redux 进行状态管理?
  • 在 Windows 下的 Docker 中安装 R语言
  • 微服务即时通信系统---(六)语音识别子服务
  • Mac 上安装多版本的 JDK 且实现 自由切换
  • 专业网站开发制作/seo优化顾问服务
  • 将门户网站建设/合肥百度关键词优化
  • 毕设如何做网站/登封网络推广公司
  • 最专业的企业营销型网站建设公司/关键词提取
  • 做网站表格/谷歌推广怎么样
  • 网站开发做前端还是后端/长沙网站推广 下拉通推广