Docker Overlay2 迁移至 CentOS Home 完整指南

你要将Docker的overlay2存储驱动目录(/var/lib/docker/overlay2,属于overlay文件系统)转移到centos-home逻辑卷(/home目录)下,核心是迁移整个Docker数据目录(因为overlay2是Docker数据目录的子目录,无法单独迁移),从而彻底释放根分区空间,以下是CentOS 7下的精准操作步骤:

核心逻辑

Docker的overlay/overlay2存储目录依赖于Docker的根数据目录(默认/var/lib/docker),因此只需将Docker的核心存储路径从根分区迁移到/home(centos-home),overlay2目录会随之一并转移,无需单独处理。

前置准备

  1. 确认/home(centos-home)空闲空间充足(执行df -h /home);

  2. root用户操作(或全程加sudo);

  3. 停止所有Docker容器和服务,避免数据损坏:

    # 停止所有运行中的容器 docker stop $(docker ps -aq) # 停止Docker服务及socket(关键:避免overlay目录被占用) systemctl stop docker systemctl stop docker.socket # 验证Docker已停止:无输出则成功 ps -ef | grep docker | grep -v grep

完整迁移步骤

步骤1:在/home创建Docker新存储目录
# 创建层级目录(建议命名为/home/docker,便于识别) mkdir -p /home/docker/lib # 设置目录权限(与原/var/lib/docker一致,适配overlay驱动要求) chmod 711 /home/docker/lib chown root:root /home/docker/lib # 可选:关闭SELinux临时放行(CentOS 7默认开启,避免overlay权限拦截) setenforce 0
步骤2:迁移原有Docker数据(含overlay2)到新目录

使用rsync迁移(保留文件权限、软链接,适配overlay的分层存储特性,比cp更安全):

# 迁移/var/lib/docker下所有内容(含overlay2)到/home/docker/lib rsync -avz --numeric-ids /var/lib/docker/ /home/docker/lib/
  • --numeric-ids:保留用户/组的数字ID,避免overlay目录权限错乱;

  • 迁移完成后,可执行ls /home/docker/lib/overlay2验证:能看到原有overlay分层目录即成功。

步骤3:修改Docker配置,指定新存储路径

Docker的存储路径通过/etc/docker/daemon.json配置,无则创建:

# 编辑/创建配置文件 vim /etc/docker/daemon.json

写入以下内容(核心是data-root指定新路径,适配Docker 17.06+版本,覆盖默认的/var/lib/docker):

{ "data-root": "/home/docker/lib", "storage-driver": "overlay2" # 显式指定overlay2驱动,避免自动切换 }
  • 若原有daemon.json有其他配置(如镜像加速),只需新增data-root字段,保持JSON格式正确(逗号分隔,无多余逗号);

  • 保存退出:Esc→ 输入:wq

步骤4:备份原Docker目录(避免冲突)
# 重命名原目录(不直接删除,验证无误后清理) mv /var/lib/docker /var/lib/docker.bak
步骤5:重启Docker并验证overlay路径
# 重载系统配置,重启Docker systemctl daemon-reload systemctl start docker # 验证1:Docker服务正常运行 systemctl status docker # 输出“active (running)”即正常 # 验证2:overlay2目录已迁移到/home(关键!) docker info | grep -E "Docker Root Dir|Storage Driver"

预期输出

Storage Driver: overlay2 Docker Root Dir: /home/docker/lib
步骤6:验证容器/overlay功能正常
# 启动测试容器,验证overlay存储正常 docker run --rm hello-world # 查看新overlay2目录是否生成新文件(确认写入正常) ls -lh /home/docker/lib/overlay2/ | tail -5
  • 若测试容器运行成功,且overlay2目录有新文件生成,说明迁移生效。

步骤7:清理原目录(释放根分区空间)

验证无误后,删除原备份目录:

rm -rf /var/lib/docker.bak

关键注意事项(针对overlay驱动)

  1. overlay2权限要求:新目录必须是root:root、权限711,否则Docker启动时会提示“overlay mount failed”;

  2. SELinux永久适配(可选):

  1. 临时关闭setenforce 0重启后失效,若需永久放行,执行:

    # 编辑SELinux配置 vim /etc/selinux/config # 修改为:SELINUX=permissive # 保存后重启生效(reboot)
  1. overlay分层数据完整性:迁移时必须用rsync -avz --numeric-ids,避免overlay的分层文件(如difflowerdir)损坏;

  2. Docker版本兼容:CentOS 7建议使用Docker 19.03+,避免旧版本对overlay2的兼容性问题。

常见问题与解决方案

问题现象

原因

解决方法

Docker启动报错“overlay2: invalid argument”

SELinux拦截overlay挂载

执行setenforce 0临时关闭,或永久设置SELINUX=permissive

容器启动提示“no space left on device”

新目录权限错误,Docker无法写入

执行chmod 711 /home/docker/lib && chown root:root /home/docker/lib

Docker Root Dir仍显示/var/lib/docker

daemon.json格式错误

执行cat /etc/docker/daemon.json检查(无多余逗号/引号),重新执行systemctl daemon-reload && systemctl restart docker

总结

  1. overlay2作为Docker的存储驱动目录,无法单独迁移,需迁移整个Docker数据目录到/home(centos-home);

  2. 核心操作:停止Docker → rsync迁移数据 → 修改daemon.json指定新路径 → 验证overlay路径

  3. 验证关键:docker info确认存储驱动为overlay2且根目录指向/home,测试容器能正常运行。

迁移完成后,原根分区的overlay目录(/var/lib/docker/overlay2)已被转移,根分区空间会大幅释放,且后续Docker的所有overlay分层数据都会存储在centos-home下。

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

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

相关文章

M2FP模型解析:从论文到生产环境的快速落地实践

M2FP模型解析:从论文到生产环境的快速落地实践 你是不是也经历过这样的场景?刚读完一篇让人眼前一亮的AI论文,比如M2FP这种在人体解析任务上表现优异的模型,心里热血沸腾,想着“这技术太实用了,赶紧用起来…

基于Keil和Proteus的仿真调试小白指南

从零开始掌握软硬协同仿真:Keil Proteus 联调实战全解析你有没有过这样的经历?代码写完了,却因为没有开发板而卡住;烧录后程序跑飞,但不知道是软件逻辑错了还是电路接反了;想测一个IC通信时序,…

从零部署WMT25优胜翻译模型|HY-MT1.5-7B镜像使用全攻略

从零部署WMT25优胜翻译模型|HY-MT1.5-7B镜像使用全攻略 随着多语言交流需求的不断增长,高质量、低延迟的翻译模型成为跨语言应用的核心组件。在WMT25赛事中脱颖而出的HY-MT1.5-7B模型,凭借其卓越的语言理解与生成能力,已成为当前…

SAM3创新应用:医疗影像中的器官自动分割

SAM3创新应用:医疗影像中的器官自动分割 1. 技术背景与应用场景 随着深度学习在计算机视觉领域的持续突破,图像分割技术已从传统的语义分割、实例分割逐步演进到“提示驱动”的通用分割范式。SAM3(Segment Anything Model 3) 作…

[特殊字符] AI 印象派艺术工坊架构解析:无模型服务设计思路详解

🎨 AI 印象派艺术工坊架构解析:无模型服务设计思路详解 1. 背景与技术选型动机 在当前AI图像生成领域,深度学习模型(如StyleGAN、Neural Style Transfer)凭借强大的表现力占据了主流地位。然而,这类方案往…

用BGE-M3打造法律文档检索工具,效果超预期

用BGE-M3打造法律文档检索工具,效果超预期 1. 引言:法律文档检索的挑战与新解法 在法律科技(LegalTech)领域,高效、精准的文档检索能力是构建智能合同分析、判例推荐和法规查询系统的核心基础。传统基于关键词匹配的…

Keil MDK中Cortex-M系列处理器的选型与芯片包匹配

Keil MDK中Cortex-M处理器选型与芯片包匹配:从踩坑到精通的实战指南你有没有遇到过这样的场景?新项目刚上电,Keil一编译就报错“undefined symbol: SystemInit”,或者调试器连不上目标板,提示“No target connected”—…

SAM3优化案例:降低延迟的5种实用方法

SAM3优化案例:降低延迟的5种实用方法 1. 技术背景与性能挑战 随着视觉大模型在图像分割领域的广泛应用,SAM3 (Segment Anything Model 3) 凭借其强大的零样本泛化能力,成为万物分割任务的核心工具。该模型支持通过自然语言提示(…

QQ音乐下载终极指南:一键获取高品质音乐资源的高级技巧

QQ音乐下载终极指南:一键获取高品质音乐资源的高级技巧 【免费下载链接】res-downloader 资源下载器、网络资源嗅探,支持微信视频号下载、网页抖音无水印下载、网页快手无水印视频下载、酷狗音乐下载等网络资源拦截下载! 项目地址: https://gitcode.co…

FactoryBluePrints蓝图库使用完全手册:从零开始构建高效工厂

FactoryBluePrints蓝图库使用完全手册:从零开始构建高效工厂 【免费下载链接】FactoryBluePrints 游戏戴森球计划的**工厂**蓝图仓库 项目地址: https://gitcode.com/GitHub_Trending/fa/FactoryBluePrints 还在为戴森球计划中复杂的工厂设计而烦恼吗&#x…

轻量级人脸分析:AI读脸术资源占用优化

轻量级人脸分析:AI读脸术资源占用优化 1. 引言:轻量化AI在边缘场景的迫切需求 随着人工智能技术的普及,人脸识别、属性分析等能力已广泛应用于安防、零售、智能交互等领域。然而,多数深度学习方案依赖庞大的计算资源和复杂的框架…

《增强提示词:调教纪元》

《增强提示词:调教纪元》“在2045年,最珍贵的不是算力,而是人类愿意花时间去纠正一个AI的耐心。”—— 胡南,《人机共生伦理手记序章》第一章:工具链时代2045年,世界已不再由国家或资本主导,而是…

Qwen1.5-0.5B部署案例:政府热线智能问答系统

Qwen1.5-0.5B部署案例:政府热线智能问答系统 1. 章节一:项目背景与技术选型 1.1 政府热线智能化的现实挑战 在政务服务场景中,政府热线是公众表达诉求、获取帮助的重要通道。传统人工坐席面临响应效率低、情绪识别滞后、服务标准不统一等问…

BGE-M3实战:社交媒体热点话题追踪系统

BGE-M3实战:社交媒体热点话题追踪系统 1. 引言:构建智能语义感知的热点发现引擎 在信息爆炸的时代,社交媒体平台每天产生海量用户生成内容(UGC),如何从这些非结构化文本中快速识别出正在兴起的热点话题&a…

YimMenu终极指南:10个技巧解决GTA V辅助工具使用难题

YimMenu终极指南:10个技巧解决GTA V辅助工具使用难题 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMe…

HY-MT1.5-1.8B科研翻译助手:论文摘要多语转换实战教程

HY-MT1.5-1.8B科研翻译助手:论文摘要多语转换实战教程 1. 引言 在科研国际化背景下,学术成果的多语言传播成为提升影响力的关键环节。然而,传统翻译工具在处理专业术语、复杂句式和格式保留方面往往表现不佳,尤其在小语种或混合…

终极简单!5分钟掌握Balena Etcher系统镜像烧录完整指南

终极简单!5分钟掌握Balena Etcher系统镜像烧录完整指南 【免费下载链接】etcher Flash OS images to SD cards & USB drives, safely and easily. 项目地址: https://gitcode.com/GitHub_Trending/et/etcher 还在为复杂的系统启动盘制作而头疼吗&#xf…

看完就想试!BGE-Reranker-v2-m3打造的智能问答系统效果展示

看完就想试!BGE-Reranker-v2-m3打造的智能问答系统效果展示 1. 引言:RAG系统中的“精准过滤器”为何关键? 在当前检索增强生成(Retrieval-Augmented Generation, RAG)系统中,一个常见痛点是:向…

Campus-iMaoTai茅台预约系统完整教程:3步实现自动预约

Campus-iMaoTai茅台预约系统完整教程:3步实现自动预约 【免费下载链接】campus-imaotai i茅台app自动预约,每日自动预约,支持docker一键部署 项目地址: https://gitcode.com/GitHub_Trending/ca/campus-imaotai 还在为每天手动抢购茅台…

Open Interpreter能源管理应用:能耗分析脚本生成

Open Interpreter能源管理应用:能耗分析脚本生成 1. 引言 随着智能设备和工业自动化系统的普及,能源管理已成为企业降本增效的关键环节。传统的能耗数据分析依赖专业开发人员编写脚本进行数据清洗、建模与可视化,流程繁琐且响应慢。如何快速…