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

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

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

9月 05 10:50:06 iZj6c94a19bsvkhti6zw6oZ dockerd4379: Status: unknown flag: --graph

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

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

9月 05 10:50:06 iZj6c94a19bsvkhti6zw6oZ systemd1: Failed to start Docker Application Container Engine.

9月 05 10:50:06 iZj6c94a19bsvkhti6zw6oZ systemd1: Unit docker.service entered failed state.

9月 05 10:50:06 iZj6c94a19bsvkhti6zw6oZ systemd1: docker.service failed.

9月 05 10:50:09 iZj6c94a19bsvkhti6zw6oZ systemd1: docker.service holdoff time over, scheduling restart.

9月 05 10:50:09 iZj6c94a19bsvkhti6zw6oZ systemd1: Stopped Docker Application Container Engine.

9月 05 10:50:09 iZj6c94a19bsvkhti6zw6oZ systemd1: start request repeated too quickly for docker.service

9月 05 10:50:09 iZj6c94a19bsvkhti6zw6oZ systemd1: Failed to start Docker Application Container Engine.

9月 05 10:50:09 iZj6c94a19bsvkhti6zw6oZ systemd1: Unit docker.service entered failed state.

9月 05 10:50:09 iZj6c94a19bsvkhti6zw6oZ systemd1: 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
相关推荐
szephyr26 分钟前
Docker + Compose 实战:把本地项目一键搬到云服务器,附完整配置
运维·docker·容器·部署·云服务器
wdfk_prog37 分钟前
ros教程02:创建 catkin Workspace、Package 与第一个 ROS1 C++ Node
运维·缓存·docker·容器·ros
亚川楼宇自控系统数据中心厂家1 小时前
高校 / 医院 / 政务云数据中心 IBMS 系统怎么落地?
运维
陈陈CHENCHEN2 小时前
【Linux】服务器根目录磁盘扩容操作记录
linux·运维·服务器
见闻小天地3 小时前
从晶片工艺到可靠性验证:晶威特TF-3215型RTC晶振全面解析
运维·业界资讯
名字还没想好☜4 小时前
Docker 网络实战:bridge/host/none/自定义网络、容器互通与端口映射踩坑
运维·docker·kubernetes
fengyehongWorld4 小时前
Linux squid搭建基础代理服务器
linux·运维·服务器
木白CPP5 小时前
Linux DMA驱动详解(二)-----DMA的使用者
java·linux·运维
赵民勇5 小时前
systemd-socket-activate命令详解
linux·运维
跨境小彭5 小时前
Temu运营避坑:制造地点信息填写规范、后果及批量实操教程
大数据·运维·自动化·跨境电商·temu