Error starting daemon: error initializing graphdriver: driver not supported

没有检索到摘要

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

Linux内核升级后,docker服务启动失败,报驱动不支持。

jwlLinux docker # systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sun 2022-04-24 15:21:27 CST; 7min ago
     Docs: https://docs.docker.com
  Process: 3987 ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS (code=exited, status=1/FAILURE)
 Main PID: 3987 (code=exited, status=1/FAILURE)

Apr 24 15:21:26 jwlLinux systemd[1]: Starting Docker Application Container Engine...
Apr 24 15:21:26 jwlLinux dockerd[3987]: time="2022-04-24T03:21:26.143772482-04:00" level=info msg="libcontainerd: new containerd process, pid: 3994"
Apr 24 15:21:27 jwlLinux dockerd[3987]: time="2022-04-24T03:21:27.148200495-04:00" level=error msg="[graphdriver] prior storage driver aufs failed: dri
Apr 24 15:21:27 jwlLinux dockerd[3987]: Error starting daemon: error initializing graphdriver: driver not supported
Apr 24 15:21:27 jwlLinux systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
Apr 24 15:21:27 jwlLinux systemd[1]: Failed to start Docker Application Container Engine.
Apr 24 15:21:27 jwlLinux systemd[1]: docker.service: Unit entered failed state.
Apr 24 15:21:27 jwlLinux systemd[1]: docker.service: Failed with result 'exit-code'.
Apr 24 15:21:27 jwlLinux systemd[1]: docker.service: Start request repeated too quickly.
Apr 24 15:21:27 jwlLinux systemd[1]: Failed to start Docker Application Container Engine.

解决方案

增加dockerd的启动配置文件:

jwlLinux docker # cat  /etc/docker/daemon.json
{
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ]
}

问题解决

<think>好的,我现在要帮用户解决CentOS上Docker服务启动失败的问题。首先,我需要回忆一下用户提供的引用内容,里面提到了几个可能的错误,比如SELinux不支持overlay2驱动,还有systemd服务启动失败的情况。用户还提到了设置yum源的步骤,可能和安装有关。 首先,我应该从常见的错误入手。根据引用[1],error initializing graphdriver可能是存储驱动的问题。用户可能在CentOS上使用overlay2驱动,但引用[2]指出SELinux不支持overlay2,需要检查SELinux状态。解决方法可能是禁用SELinux或者改用其他驱动,比如devicemapper。 接下来,用户提到了systemctl --state=failed,这说明有服务启动失败。需要运行systemctl status docker.service和journalctl -xe来查看详细日志,找出具体的错误信息。比如,如果看到关于存储驱动的报错,就需要调整daemon.json配置文件,设置正确的驱动,并重启服务。 另外,安装Docker时的yum源是否正确?引用[3]显示用户添加了docker-ce的官方源,但可能没有启用或者有冲突的旧版本。需要确认仓库已正确配置,并彻底卸载旧版本,再重新安装。 还有,内核模块的问题。引用[4]提到systemd-modules-load.service加载失败,可能缺少overlay或aufs模块。需要检查modprobe overlay是否成功,必要时更新内核或启用相关模块。 可能还需要考虑磁盘空间,Docker需要足够的空间来运行。使用df -h查看,清理不必要的文件。 最后,如果所有步骤都失败,可能需要更详细的日志分析,或者考虑升级Docker版本,甚至操作系统版本是否兼容。 用户可能需要分步骤执行这些检查,逐步排除问题。比如先检查SELinux,再查看存储驱动配置,然后确认安装步骤正确,最后检查内核模块和磁盘空间。如果还是不行,根据日志进一步处理。</think>### CentOS Docker服务启动失败的解决方案 #### 一、检查SELinux与存储驱动冲突 1. 当出现`Error starting daemon: SELinux is not supported with overlay2`报错时,需要临时禁用SELinux: ```bash $ sudo setenforce 0 ``` 或修改`/etc/sysconfig/selinux`设置为`SELINUX=disabled`[^2] 2. 强制指定存储驱动为`devicemapper`: ```bash $ sudo dockerd --storage-driver=devicemapper ``` 或修改`/etc/docker/daemon.json`添加: ```json { "storage-driver": "devicemapper" } ``` #### 二、验证服务状态与日志 ```bash $ systemctl status docker.service # 查看实时状态 $ journalctl -xe -u docker.service # 查看完整日志 ``` 若显示`failed to start daemon: error initializing graphdriver`,需重建存储目录: ```bash $ sudo rm -rf /var/lib/docker $ sudo systemctl start docker ``` #### 三、检查安装完整性 1. 确认已正确配置yum源: ```bash $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo [^3] ``` 2. 完全卸载旧版本: ```bash $ sudo yum remove docker* containerd runc ``` 3. 重新安装: ```bash $ sudo yum install docker-ce docker-ce-cli containerd.io ``` #### 四、内核模块检查 ```bash $ lsmod | grep overlay # 验证overlay模块加载 $ sudo modprobe overlay # 手动加载模块 ``` 若出现`systemd-modules-load.service failed`,需更新内核: ```bash $ sudo yum update kernel -y ``` #### 五、磁盘空间验证 使用命令检查存储空间: ```bash $ df -h /var/lib/docker # 建议保留至少10GB空间 ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值