You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS7.9配置daemon.json迁移Docker数据目录报data-root无效错误

问题根因

报错信息显示运行的Docker进程为dockerd-current,说明当前CentOS 7.9环境安装的是系统默认源提供的1.13.x老旧版本Docker,该版本不支持data-root配置项。data-root是Docker 17.06及之后版本才引入的参数,老版本Docker指定数据存储目录的配置项为graph,因此配置校验时会直接抛出参数不匹配的错误。
已确认的XFS磁盘ftype=1、数据同步操作均无问题,报错与磁盘格式、数据同步逻辑、SELinux配置、磁盘挂载方式无关。

解决方案

可根据实际需求选择以下任意一种方案修复:

方案1:适配现有老版本Docker(无需升级)

将daemon.json中的data-root参数替换为老版本支持的graph参数即可:

  1. 确认Docker服务已停止:
systemctl stop docker
  1. 修改/etc/docker/daemon.json配置文件,参考内容如下:
{
  "graph": "/var/lib/test",
  "storage-driver": "overlay2"
}
  1. 检查新数据目录权限,确保属主属组与原/var/lib/docker一致,均为root:root。
  2. 重载系统服务配置并启动Docker:
systemctl daemon-reload
systemctl start docker
  1. 执行以下命令验证配置生效:
docker info | grep "Docker Root Dir"

输出路径为/var/lib/test即代表配置成功。

方案2:升级至官方维护的Docker CE版本(推荐)

CentOS默认源携带的1.13版本Docker已停止维护多年,存在大量安全漏洞与兼容性问题,建议升级到官方持续维护的Docker CE版本,升级后可原生支持data-root参数:

  1. 停止运行中的老版本Docker服务:
systemctl stop docker
  1. 卸载系统自带的老旧Docker相关组件:
yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux dockerd-current
  1. 安装Docker CE依赖组件:
yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 配置Docker CE稳定版软件源,安装最新版Docker CE及关联组件:
yum install -y docker-ce docker-ce-cli containerd.io
  1. 确认/etc/docker/daemon.json中的data-root配置正确,重载系统服务配置后启动Docker并设置开机自启:
systemctl daemon-reload
systemctl start docker
systemctl enable docker
  1. 执行docker info | grep "Docker Root Dir"验证数据目录配置生效即可。
注意事项
  • 已完成的新旧数据目录rsync同步操作有效,无需重复执行,仅需保证新目录权限正确即可。
  • 如果启动时遇到SELinux拦截报错,可先执行setenforce 0临时关闭SELinux测试,确认是SELinux策略问题后,执行以下命令给新数据目录打对应SELinux标签即可永久修复:
semanage fcontext -a -t container_var_lib_t "/var/lib/test(/.*)?"
restorecon -Rv /var/lib/test
  • 已验证的XFS分区ftype=1符合overlay2存储驱动的官方要求,无需调整磁盘格式。

内容的提问来源于stack exchange,提问作者searchbruh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 02:48:28