办理docker不加载 /etc/docker/daemon.json文件的问题

打印 上一主题 下一主题

主题 874|帖子 874|积分 2626

问题起源

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

正常重启后先什么都不做。
1.查找你的docker配置文件,有好几种配置方案
A:使用
  1. ps aux | grep dockerd
复制代码
我的结果:
  1. 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
  2. root        1415  0.2  1.8 2357832 74752 ?       Ssl  07:09   0:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
  3. 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:使用查看服务配置的方法,该方法和我实践过,不外是根据服务来操作的。
  1. systemctl show -p FragmentPath docker
复制代码
找到类似的配置服务文件 /lib/systemd/system/docker.service
  1. 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应当就没这个问题。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

东湖之滨

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表