解决Docker存储空间不足问题 - 指南

news/2025/10/7 8:20:07/文章来源:https://www.cnblogs.com/lxjshuju/p/19128165

虚拟机磁盘扩展实战:解决Docker存储空间不足问题

问题背景

在虚拟机中运行的Linux系统上,Docker服务因根分区空间不足而无法正常运行。初始状态如下:

[root@localhost ~]# df -h /
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 17G 17G 983M 95% /
[root@localhost ~]# docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 8 7 3.914GB 260.4MB
Containers 8 4 6.741GB 18.13kB

根分区使用率已达95%,仅剩983MB空间,导致Docker无法正常工作。

完整解决方案

步骤1:安装parted工具(如未安装)

# 检查parted是否已安装
which parted || echo "parted not installed"
# 安装parted工具
sudo yum install -y parted # CentOS/RHEL
# 或
sudo apt-get install -y parted # Ubuntu/Debian
# 验证安装
sudo parted --version

步骤2:扩展虚拟机磁盘

  1. 关闭虚拟机
  2. 在虚拟机管理软件中:
    • VMware: 虚拟机设置 → 硬盘 → 扩展
    • VirtualBox: 设置 → 存储 → 调整大小
    • 将磁盘从30GB扩展到53.7GB
  3. 启动虚拟机

步骤3:进入parted交互模式

# 启动parted工具(需要root权限)
sudo parted /dev/sda

步骤4:parted交互操作指南

在parted交互模式中,按顺序执行以下命令:

# 1. 查看当前分区信息
(parted) print
# 2. 调整分区大小(注意:100%后不要添加任何注释)
(parted) resizepart 2 100%
# 3. 确认分区已扩展
(parted) print
# 4. 退出parted
(parted) quit

关键操作截图

(parted) print # 执行前
Number Start End Size Type File system 标志
1 1049kB 1075MB 1074MB primary xfs 启动
2 1075MB 30.0GB 28.9GB primary lvm
(parted) resizepart 2 100% # 正确执行
(parted) print # 执行后
Number Start End Size Type File system 标志
1 1049kB 1075MB 1074MB primary xfs 启动
2 1075MB 53.7GB 52.6GB primary lvm

步骤5:更新分区表

# 强制内核重新读取分区表
sudo partprobe -s /dev/sda
sudo udevadm settle
# 确认分区已扩展
sudo fdisk -l /dev/sda

预期输出

设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 104857599 51379200 8e Linux LVM

步骤6:扩展物理卷(PV)

# 强制物理卷使用整个分区空间
sudo pvresize /dev/sda2
# 验证PV大小
sudo pvdisplay /dev/sda2

检查关键值

  • PV Size 应接近53.7GB
  • Free PE 应有大量空间

步骤7:扩展逻辑卷(LV)和文件系统

# 查看卷组可用空间
sudo vgdisplay centos | grep "Free"
# 将所有空闲空间分配给根逻辑卷
sudo lvextend -l +100%FREE /dev/mapper/centos-root
# 扩展XFS文件系统
sudo xfs_growfs /dev/mapper/centos-root
# 验证最终结果
df -h /

成功验证

操作完成后,系统显示:

[root@localhost ~]# df -h /
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 54G 17G 37G 32% /
[root@localhost ~]# docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 8 7 3.914GB 260.4MB
Containers 8 4 6.741GB 18.13kB

根分区从17GB扩展到54GB,Docker存储空间不足问题得到解决。

Parted交互模式详解

什么是parted交互模式?

parted是一个磁盘分区工具,提供两种使用方式:

  1. 命令行模式:sudo parted /dev/sda resizepart 2 100%
  2. 交互模式:通过sudo parted /dev/sda进入,然后输入命令

为什么使用交互模式?

  1. 更直观:每一步操作都有明确提示
  2. 更安全:操作前可预览更改
  3. 更灵活:支持多种磁盘操作命令

常用交互命令:

命令功能示例
print显示分区表(parted) print
resizepart调整分区大小(parted) resizepart 2 100%
rm删除分区(parted) rm 3
mkpart创建新分区(parted) mkpart primary 30GB 100%
quit退出交互模式(parted) quit

关键要点

  1. 操作顺序至关重要

  2. parted命令注意事项

    # 正确命令(简洁无注释)
    (parted) resizepart 2 100%
    # 错误命令(会导致失败)
    (parted) resizepart 2 # 选择要调整的分区(这里是分区2)
  3. LVM扩展逻辑

    物理磁盘 → 分区 → 物理卷(PV) → 卷组(VG) → 逻辑卷(LV) → 文件系统
  4. XFS文件系统特性

常见问题解决方案

问题1:parted未安装

# CentOS/RHEL
sudo yum install -y parted
# Ubuntu/Debian
sudo apt-get update &&
sudo apt-get install -y parted

问题2:parted命令无效

# 确保使用正确语法
(parted) help resizepart # 查看命令帮助
# 使用绝对路径
/sbin/parted /dev/sda

问题3:空间未完全释放

# 清理Docker无用数据
docker system prune -af
# 清理系统日志
sudo journalctl --vacuum-size=200M
sudo rm -rf /var/log/journal/*

问题4:parted无法调整分区

使用fdisk替代方案:

# 备份分区表
sudo sfdisk -d /dev/sda > sda.bak
# 进入fdisk交互模式
sudo fdisk /dev/sda
# 在fdisk中执行:
d # 删除分区
2 # 选择分区2
n # 新建分区
p # 主分区
2 # 分区号2
2099200 # 起始扇区(必须相同!)
Enter # 使用默认结束位置(整个磁盘)
t # 更改类型
2 # 选择分区2
8e # Linux LVM 类型
w # 写入更改

总结

通过本指南,您成功实现了:

  1. parted工具的安装与使用
  2. 虚拟机磁盘从30GB扩展到53.7GB
  3. Linux分区扩展到整个可用空间
  4. LVM物理卷和逻辑卷的扩展
  5. XFS文件系统的在线扩展
  6. Docker存储空间不足问题的解决

经验提示:在生产环境中操作前,务必对虚拟机进行快照备份,以防操作失误导致数据丢失。parted交互模式虽然需要额外学习,但提供了更直观和安全的分区管理方式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/930202.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

长沙市做网站的网站图标在哪里做修改

背景 有序列表换行后自动开启下一个标号,让人苦恼。 操作 操作系统换行操作 1. 【Enter】键是硬回车,即段落标记。回车后文字属于下一段落 2. 【shiftEnter】是软回车快捷键。即人工换行符。回车后文字仍属于前一段落,只不过重新换行。 …

深圳高端网站建设公司人工智能培训心得体会

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一.目录和文件的操作 1.cd 命令 切换到d盘 2.目录分为相对路径和绝对路径 3. dir命令 用于显示目录和文件列表 4. md 或 mkdir 创建目录 5. rd 用于删…

如何在网站开发国外大客户怎么做网站注册的网页

IDEA 软件设置Settings页面Settings是对软件本身的一些属性进行配置,例如字体 主题 背景图 插件等。如何打开Settings设置页面Settings设置页面结构详解结构Appearance & Behavior 外观和行为Keymap 快捷键Editor 编辑器设置Plugins 插件Version Control 版本控…

深入解析:C++ 内存泄漏检测器设计

深入解析:C++ 内存泄漏检测器设计2025-10-07 08:11 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !impo…

实用指南:实践篇:利用ragas在自己RAG上实现LLM评估②

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

完整教程:数据结构:递归的种类(Types of Recursion)

完整教程:数据结构:递归的种类(Types of Recursion)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&…

专业模板网站制作wordpress apple pro

当代年轻人的生活方式是怎样的?靠地铁通勤,靠咖啡续命早上睁不开眼,咖啡来一杯中午昏昏欲睡,咖啡来一杯晚上熬夜加班,咖啡来一杯喝完这杯,还有一杯“宁可食无肉,不可早无星”是当代年轻人的座右…

网站建设首选wordpress首页不显示指定分类

1、对比 tairzookeper性能高 低可靠性低 高 2、zookeper实现分布式锁 特点: Zookeeper能保证数据的强一致性,用户任何时候都可以相信集群中每个节点的数据都是相同的。 加锁 客户端在ZooKeeper一个特定的节点下创建临时顺序节点&…

Nova Premier模型安全评估结果解析

本文通过第三方评估机构对Nova Premier模型进行黑盒压力测试和红队演练,展示了该模型在安全防护方面的卓越表现,包括在恶意指令抵抗和有害内容生成防护方面的技术细节。独立评估证明 Nova Premier 的安全性 - 某中心…

改写自己的浏览器插件工具 myChromeTools - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

做移动网站优化排名网站建设需要编码不

基本数据类型 Java 基础数据按类型可以分为四大类:布尔型、整数型、浮点型、字符型,这四大类包含 8 种基础数据类型。 布尔型:boolean整数型:byte、short、int、long浮点型:float、double字符型:char 八种…

网站设计需要那些人绍兴seo推广

hash 模式 【推荐】 路由效果 在不刷新页面的前提下,根据 URL 中的 hash 值,渲染对应的页面 http://test.com/#/login 登录页http://test.com/#/index 首页 核心API – window.onhashchange 监听 hash 的变化,触发视图更新 window.onhas…

通过litestream 进行sqlite-vec 数据备份以及恢复

通过litestream 进行sqlite-vec 数据备份以及恢复实际上就是一个简单的测试,litestream 支持流式复制,比较适合对于sqlite进行备份,同时litestream 还支持对象存储的remote 模式,比较方便 环境准备minioservices: …

相册网站开发那个网站开发三味

强制类型转换形式:(类型说明符) (表达式)举例说明:1) int a;a (int)1.9;2)char *b;int *p;p (int *) b; //将b的值强制转换为指向整型数据的指针类型,后赋给p注示:类型说明符和表达式都必须加括号,表达式为单个变量可…

做购物网站适合的服务器网站建设需求模版

目录 前言 一、创建上下文类 1.自定义MyContext上下文类继承IdentityDbContext 2.在Program中添加AddDbContext服务 二、使用Migration数据迁移 1.在控制台中 依次使用add-migration 、updatebase 命令 2.如何修改表名 3.如何自定义字段 三、使用Identity实现登录、修改密码 …

对于路由使用的ref的疑问

<script setup>import { ref, computed } from vueimport Home from ./Home.vueimport About from ./About.vueimport NotFound from ./NotFound.vueconst routes = { /: Home, /about: About}const currentPa…

天津到天津天津网站开发iis v6 新建网站

大数据管理数据处理过程图大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察力。大数据处理的主要流程包括数据收集、数据存储、数据处理、数据应用等主要环节。随着业务的增长,大量和流程、规…

自建购物网站福建响应式网站制作

目录 详细布置&#xff1a; 1. 层序遍历 2. 226. 翻转二叉树 3. 101. 对称二叉树 详细布置&#xff1a; 1. 层序遍历 昨天练习了几种二叉树的深度优先遍历&#xff0c;包括&#xff1a; ​​​​​​前中后序的递归法前中后序的迭代法前中后序迭代的统一写法 今天&…

扁平化企业网站从零开始制作wordpress主题

文章目录 360篡改浏览器主页方法1锁定浏览器主页 方法2注册表修改 360广告和弹窗360极速版 小结 360篡改浏览器主页 如果您使用360,且不想卸载它,那么当你启动360后,它可能会篡改你的浏览器(比如edge)的主页start page为360早期可能是通过修改快捷方式的target等属性,但是现在…

新网站建设验收公司手机网站模板

&#x1f4cb; 博主简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是wux_labs。&#x1f61c; 热衷于各种主流技术&#xff0c;热爱数据科学、机器学习、云计算、人工智能。 通过了TiDB数据库专员&#xff08;PCTA&#xff09;、TiDB数据库专家&#xff08;PCTP…