解决docker启动失败的错误“Status: unknown flag: --graph”

最近服务器重启以后docker启动失败了,使用以下命令查看 Docker 的日志文件以获取更详细的错误信息。

bash 复制代码
journalctl -u docker.service -e

9月 05 10:50:06 iZj6c94a19bsvkhti6zw6oZ dockerd[4379]: Status: unknown flag: --graph

9月 05 10:50:06 iZj6c94a19bsvkhti6zw6oZ dockerd[4379]: See 'dockerd --help'., Code: 125

9月 05 10:50:06 iZj6c94a19bsvkhti6zw6oZ systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE

9月 05 10:50:06 iZj6c94a19bsvkhti6zw6oZ systemd[1]: Failed to start Docker Application Container Engine.

9月 05 10:50:06 iZj6c94a19bsvkhti6zw6oZ systemd[1]: Unit docker.service entered failed state.

9月 05 10:50:06 iZj6c94a19bsvkhti6zw6oZ systemd[1]: docker.service failed.

9月 05 10:50:09 iZj6c94a19bsvkhti6zw6oZ systemd[1]: docker.service holdoff time over, scheduling restart.

9月 05 10:50:09 iZj6c94a19bsvkhti6zw6oZ systemd[1]: Stopped Docker Application Container Engine.

9月 05 10:50:09 iZj6c94a19bsvkhti6zw6oZ systemd[1]: start request repeated too quickly for docker.service

9月 05 10:50:09 iZj6c94a19bsvkhti6zw6oZ systemd[1]: Failed to start Docker Application Container Engine.

9月 05 10:50:09 iZj6c94a19bsvkhti6zw6oZ systemd[1]: Unit docker.service entered failed state.

9月 05 10:50:09 iZj6c94a19bsvkhti6zw6oZ systemd[1]: docker.service failed.

错误原因:

从提供的日志信息中,可以看到 Docker 服务启动失败的主要原因是 --graph 这个未知的标志(flag)。这个标志在较新版本的 Docker 中已经被废弃,并且不再被支持。Docker 现在使用 --data-root 标志来指定 Docker 数据的存储位置。

解决方案:

编辑 Docker 服务文件:

编辑 /etc/systemd/system/docker.service.d/ 目录下的 devicemapper.conf 文件,找到包含 --graph 的行,并将其替换为 --data-root。

bash 复制代码
ExecStart=/usr/bin/dockerd --graph=/home/www1/docker/lib/docker

将其更改为:

bash 复制代码
ExecStart=/usr/bin/dockerd --data-root=/home/www1/docker/lib/docker

重新加载 systemd 配置:

在修改配置文件后,需要重新加载 systemd 的配置,以确保更改生效:

bash 复制代码
sudo systemctl daemon-reload

重启 Docker 服务:

bash 复制代码
sudo systemctl restart docker

检查 Docker 服务状态:

bash 复制代码
sudo systemctl status docker
相关推荐
鸠摩智首席音效师1 小时前
如何使用 docker exec 在容器中运行命令 ?
运维·docker·容器
似水এ᭄往昔2 小时前
【Linux】自动化构建-make/Makefile
linux·运维·服务器·ubuntu
Hoking2 小时前
TimescaleDB(PostgreSQL)流复制集群容器化部署(docker-compose)
docker·postgresql·timescaledb·流复制
顶点多余2 小时前
Linux“信号“从硬件到软件详解
linux·运维·服务器
勘察加熊人3 小时前
ai飞卢小说自动化处理工作流获得提问素材
运维·自动化
瀚高PG实验室4 小时前
rpm包安装报错:cannot open Packages index using db5 - Cannot allocate memory (12)
linux·运维·服务器·瀚高数据库
云计算老刘4 小时前
2. DNS 服务器
运维
水星灭绝4 小时前
win11+wsl2+docker
运维·docker·容器
追风少年王大爷丶4 小时前
nginx 配置无域名访问拒绝
运维·服务器·nginx
Snasph4 小时前
在Ubuntu上进行端口转发
linux·运维·ubuntu