本文主要是介绍如何解决Docker启动时报Status: unknown flag: --graph问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近在进行Docker环境迁移时,用二制对Docker进行了重新安装,一切配置好之后,启动Docker时,服务启动不起来,使用journalctl -xe命令查看,报出以下错误:
[root@app docker]# journalctl -xe
8月 25 14:25:46 app dockerd[3269]: Status: unknown flag: --graph
8月 25 14:25:46 app dockerd[3269]: See 'dockerd --help'., Code: 125
--graph参数不对的问题 。
经过查找资料发现,Docker在较早的版本中使用了--graph标志来指定Docker的存储驱动和根目录,但在后续版本中,这个标志已被弃用,取而代之的是--data-root标志。
通过docker- version命令分别查看了环境迁移前的版为:docker-20.10.1
环境迁移后的版本为:26.1.1。如下所示:
[root@app system]# docker version
Client:Version: 26.1.1API version: 1.45Go version: go1.21.9Git commit: 4cf5afaBuilt: Tue Apr 30 11:46:57 2024OS/Arch: linux/amd64Context: defaultServer: Docker Engine - CommunityEngine:Version: 26.1.1API version: 1.45 (minimum version 1.24)Go version: go1.21.9Git commit: ac2de55Built: Tue Apr 30 11:48:27 2024OS/Arch: linux/amd64Experimental: falsecontainerd:Version: 1.6.9GitCommit: 1c90a442489720eec95342e1789ee8a5e1b9536frunc:Version: 1.1.4GitCommit: v1.1.4-0-g5fd4c4d
按照要求,把docker.service启动配置文件中的--graph参数修改为--data-root参数,如下所示:
图中标红部分,把--graph这一行注掉,换成了--date-root,图中标绿部分。
再重新加载和启动docker,docker成功被启动。如下所示:
重新加载:
[root@app system]# systemctl daemon-reload
启动docker:
[root@app system]# systemctl start docker
查看docker服务状态:
[root@app system]# systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)Active: active (running) since 日 2024-08-25 14:45:31 CST; 45min agoDocs: https://docs.docker.comMain PID: 3887 (dockerd)CGroup: /system.slice/docker.service├─3887 /app/docker/bin/dockerd --data-root /app/docker/data/lib/docker --userland-proxy-path=/app/docker/bin/docker-proxy└─3894 containerd --config /var/run/docker/containerd/containerd.toml
Active:这个状态值已经running,说明docker的--data-root参数已经生效,并且docker服务已成功启动。
这篇关于如何解决Docker启动时报Status: unknown flag: --graph问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!