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

发布于:2025-02-26 ⋅ 阅读:(23) ⋅ 点赞:(0)

问题类似这样

在这里插入图片描述


存储空间不足

如果 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