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

这篇具有很好参考价值的文章主要介绍了给/etc/docker/daemon.json中配置graph后docker启动失败的问题记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

背景

排查

解决

另外注意


背景

启动报错:

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

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

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

the following directives don't match any configuration option: data-root,云原生k8s/docker/rancher相关,docker,容器,运维

根据提示journalctl -xe查看

the following directives don't match any configuration option: data-root,云原生k8s/docker/rancher相关,docker,容器,运维

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

排查

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

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

通过下述指令

journalctl -amu docker

看看详细信息:

the following directives don't match any configuration option: data-root,云原生k8s/docker/rancher相关,docker,容器,运维

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

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

the following directives don't match any configuration option: data-root,云原生k8s/docker/rancher相关,docker,容器,运维

得到实际原因:

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

the following directives don't match any configuration option: data-root,云原生k8s/docker/rancher相关,docker,容器,运维

解决

修改后正确的如下:

the following directives don't match any configuration option: data-root,云原生k8s/docker/rancher相关,docker,容器,运维

再次重载、重启

systemctl daemon-reload && systemctl restart docker.service

成功了

the following directives don't match any configuration option: data-root,云原生k8s/docker/rancher相关,docker,容器,运维

另外注意

除过上述作者碰到的原因外,猜测可能还会有其它原因,如迁移时的文件权限问题、某个操作不当、文件格式等也都需要排除,才能精确找到问题的根本。文章来源地址https://www.toymoban.com/news/detail-769791.html

到了这里,关于给/etc/docker/daemon.json中配置graph后docker启动失败的问题记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker配置daemon.json或docker.service后重启docker报错的问题

    我们改动的配置文件通常有两种: 如果配置这两种文件后重启时出错,大概率是这两个配置文件产生了冲突。 例如: 我们在/lib/systemd/system/ docker.service 文件中配置了 又在/etc/docker/ daemon.json 文件中配置了 这样配置的话,即使配置内容相同,也会在重启docker时报错。 特此记录

    2024年02月13日
    浏览(81)
  • k8s、docker添加daemon.json添加“exec-opts“: [“native.cgroupdriver=systemd“]后无法启动的问题

    考虑k8s下docker下载镜像太慢,修改了daemon.json,按照手册抄,添加 结果发现k8s起不来了, – Unit docker.service has begun starting up. Aug 10 22:02:01 k8s-master dockerd[1831]: unable to configure the Docker daemon with file /etc/docker/daemon.json : the following directives are specified both as a flag and in the configuration

    2024年02月13日
    浏览(36)
  • Docker启动失败 unknown flag: --graph

    这里表明 dockerd 命令不认识 --graph 这个标志。这可能是因为你的Docker配置文件或系统服务配置文件中使用了这个已经被弃用的标志。 Docker在较早的版本中使用了 --graph 标志来指定Docker的存储驱动和根目录,但在后续版本中,这个标志已被弃用,取而代之的是 --data-root 标志。

    2024年02月22日
    浏览(38)
  • 【Docker】docker的daemon.json配置推荐

    1. 修改配置 2. 使配置生效

    2024年02月14日
    浏览(41)
  • docker容器daemon.json配置文件详解

    daemon.json 文档说明:         docker安装后默认没有daemon.json这个配置文件,需要进行手动创建,docker不管是在哪个平台以何种方式启动, 默认都会来这里读取配置,使用户可以统一管理不同系统下的 docker daemon 配置。         如果在daemon.json文件中进行配置,需要docker版本高于

    2024年02月11日
    浏览(53)
  • 【已解决】Docker启动失败,报错Cannot connect to the Docker daemon at unix:///var/run/docker.sock.

    报错原因: 无法与Docker守护进程建立连接。 守护进程负责管理Docker容器和镜像,并提供对Docker API的访问。 解决措施: 输入以下代码,重启docker服务 验证成功: 1. 输入以下代码,则会出现容器相关信息 2. 如果 步骤1 发现容器信息为空。 需要跳到4-6,最后 再返回步骤3!

    2024年02月09日
    浏览(54)
  • Docker启动失败,报错Cannot connect to the Docker daemon at unix:///var/run/docker 完美解决方案

    问题说明: 在构建docker镜像时发生报错: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 解决方案: 查看docker状态: 解决方案:设置开启Linux时docker自启动。 然后重启虚拟机即可解决问题。

    2024年02月06日
    浏览(49)
  • docker 常见启动失败问题

    解决方法: 将该新用户添加到docker组,root用户下运行如下命令: 2. 修改/etc/docker/daemon.json后导致docker起不来 多半是daemon.json格式有问题 使用  systemctl status docker 很难看出来真正的问题点。 这个时候使用 dockerd 命令启动docker服务,即可看出出问题的地方: 根据报错去检查d

    2024年02月11日
    浏览(51)
  • 记一次docker启动失败的问题排查

    以前在虚拟机上安装了一个docker,可以正常使用的,今天突然宿主机机器内存条坏了,换了内存条后启动机器,再使用 systemctrl start docker 启动docker,最后使用 docker start containID 启动报错 网上没有找到相应的描述,仔细分析看是 write /proc/sys/kernel/shmmni 报错了,错误原因是 in

    2024年02月14日
    浏览(64)
  • 解决docker启动mysql容器失败问题

    声明:我使用的mysql版本为:8.0.21 当我通过docker使用以下命令启动mysql mysql/data 是数据库文件存放的地方。必须要挂载到容器外,否则容器重启一切数据消失。 mysql/log 是数据库主生的log。建议挂载到容器外。 /etc/localtime:/etc/localtime:ro 是让容器的时钟与宿主机时钟同步,避免

    2024年02月11日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包