给/etc/docker/daemon.json中配置graph后docker启动失败的问题记录

发布时间:2024年01月10日

目录

背景

排查

解决

另外注意


背景

启动报错:

Job for docker.service failed because the control process exited with error code.

See "systemctl status docker.service" and "journalctl -xe" for details.

迁移docker目录,增加后如下:

根据提示journalctl -xe查看

好像也看不什么有效信息。

排查

经过一系列排查,排除掉了文件的格式问题、空格问题、目录问题、json配置文件和docker.service文件的参数冲突问题、json文件后缀等等。

(上述问题建议先排除一下哦)

通过下述指令

journalctl -amu docker

看看详细信息:

看得出来这个json文件确实有问题,同时,删掉graph字段,重新启动就是正常的,因此确定就是加了这个导致。那到底是键不对,还是值不对?还是不应该加在这里?

这里也看不出来详细问题,给它写到一个临时文件再看:journalctl -amu docker > tmp

得到实际原因:

unable to configure the Docker daemon with file /etc/docker/daemon.json: the following directives don't match any configuration option: graph

简单翻译下就是,graph选项匹配不到,它不认识(看着所写的目录应该不影响),也就是键的问题,好家伙以前同样的操作为什么正常?是什么变了?

......

继续调查,发现新版本的docker中的graph字段已遗弃,取而代之的是data-root

解决

修改后正确的如下:

再次重载、重启

systemctl daemon-reload && systemctl restart docker.service

成功了

另外注意

除过上述作者碰到的原因外,猜测可能还会有其它原因,如迁移时的文件权限问题、某个操作不当、文件格式等也都需要排除,才能精确找到问题的根本。

文章来源:https://blog.csdn.net/HYZX_9987/article/details/135224669
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。