目录
启动报错:
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
成功了
除过上述作者碰到的原因外,猜测可能还会有其它原因,如迁移时的文件权限问题、某个操作不当、文件格式等也都需要排除,才能精确找到问题的根本。