解决docker不加载 /etc/docker/daemon.json文件的问题小结

 更新时间:2024年11月28日 10:59:38   作者:choose_heart  
在Ubuntu 24.04 LTS Server上安装Docker后,发现镜像不保存且配置文件路径不正确,通过检查发现Docker服务启动时加载了非预期的配置文件,最终通过修改服务配置文件解决了问题,感兴趣的朋友跟随小编一起看看吧

问题起源

如题,最近在ubuntu24.04-LTS-server安装docker时,安装成功后设置源来设置镜像。
设置完成功拉取镜像,我就关机下次使用。
但是当我重启发现呢,镜像都不在了,但是由于网络问题,镜像每天都在变,不可能每天更新站点拉取镜像。于是我就开始排查原因。当我发现本身存储的/var/lib/docker下存储内容没有改变时。
同时我还发现每次重启我上次设置的镜像网址都失效了,我就认识到我ubuntu启动时,docker加载的配置文件,不是我们通常认为的/etc/docker/daemon.json。解决方案就呼之欲出乐。

解决方案

正常重启后先什么都不做。
1.查找你的docker配置文件,有好几种配置方案
A:使用

ps aux | grep dockerd

我的结果:

root        1312  2.0  1.9 2210652 75520 ?       Ssl  07:09   0:01 dockerd --group docker --exec-root=/run/snap.docker --data-root=/var/snap/docker/common/var-lib-docker --pidfile=/run/snap.docker/docker.pid --config-file=/var/snap/docker/2963/config/daemon.json
root        1415  0.2  1.8 2357832 74752 ?       Ssl  07:09   0:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
user       2140  0.0  0.0   6544  2304 pts/0    S+   07:11   0:00 grep --color=auto dockerd

结果发现,我居然有 --config-file=/var/snap/docker/2963/config/daemon.json,就是说我的docker服务启动时,时–config-file=/var/snap/docker/2963/config/daemon.json该位置的daemon.json而不是我们认为的/etc/docker/daemon.json文件。但是你手动重启后确实这个位置的配置文件,只能说十分奇怪了,于是我去寻找原因。于是去网上搜才发现是因为安装docker的这个包

B:使用查看服务配置的方法,该方法和我实践过,不过是根据服务来操作的。

systemctl show -p FragmentPath docker

找到类似的配置服务文件 /lib/systemd/system/docker.service

cat /lib/systemd/system/docker.service | grep ExecStart

查看里面的启动参数,如果有,那你修改成你的daemon.json文件即可成功。如/etc/docker/daemon.json文件即可。

问题反思

当我看见时snap目录是,我就思考APT软件包一般是不会安装在那里的,于是我询问了GPT和去找了snap是什么,发现可能是因为我这里24.04安装的docker-ce是使用类似snap安装的,但是我明明没有使用snap,估计是教程里添加的阿里源所所用的docker-ce是snap安装的。如果是apt安装docker.io应当就没这个问题。

到此这篇关于解决docker不加载 /etc/docker/daemon.json文件的问题的文章就介绍到这了,更多相关docker不加载 /etc/docker/daemon.json文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker私有库的搭建实现

    docker私有库的搭建实现

    这篇文章主要介绍了docker私有库的搭建实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Docker不能绑定静态的外网固定ip的问题及解决办法

    Docker不能绑定静态的外网固定ip的问题及解决办法

    这篇文章主要介绍了Docker不能绑定静态的外网固定ip的问题及解决办法,需要的朋友可以参考下
    2017-01-01
  • docker-compose部署mysql全过程

    docker-compose部署mysql全过程

    这篇文章主要介绍了docker-compose部署mysql全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2016-06-06
  • Docker容器化spring boot应用详解

    Docker容器化spring boot应用详解

    本篇文章主要介绍了Docker容器化spring boot应用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • Docker镜像拉取失败的几种原因及解决方法

    Docker镜像拉取失败的几种原因及解决方法

    本文主要介绍了Docker镜像拉取失败的几种原因及解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • 使用Docker快速运行Firefox并实现远程访问本地火狐浏览器的详细过程

    使用Docker快速运行Firefox并实现远程访问本地火狐浏览器的详细过程

    文章介绍了如何在Docker中运行Firefox浏览器,并通过Cpolar内网穿透工具实现远程访问,步骤包括部署Firefox、本地访问、安装Cpolar、配置公网地址、设置固定二级子域名等,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2025-02-02
  • 关于Docker Desktop的WSL报错问题解决办法

    关于Docker Desktop的WSL报错问题解决办法

    这篇文章主要介绍了关于Docker Desktop的WSL报错问题解决办法的相关资料,排查发现是因清理%temp%文件夹误删关键WSL文件,文中将解决办法介绍的非常详细,需要的朋友可以参考下
    2025-03-03
  • DOCKERFILE学习及使用注意事项

    DOCKERFILE学习及使用注意事项

    Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。一般的,Dockerfile分为四部分:基础镜像信息、维护者信息、镜像操作指令、容器启动时执行指令
    2017-02-02
  • 使用Docker部署todo任务管理器的实现

    使用Docker部署todo任务管理器的实现

    本文介绍使用Docker部署Todo任务管理器的全过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-07-07
  • 在CentOS 7上安装和使用Docker的方法步骤

    在CentOS 7上安装和使用Docker的方法步骤

    Docker 是一个应用程序,它简化了在容器中运行应用程序进程的过程,这些容器类似于虚拟机,但更加便携、资源友好,并且更依赖于主机操作系统,在本教程中,你将学习如何在现有的 CentOS 7 安装上安装并使用 Docker,需要的朋友可以参考下
    2024-07-07

最新评论