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

文章目录

问题起源

如题,最近在ubuntu24.04-LTS-server安装docker时,安装成功后设置源来设置镜像。

设置完成功拉取镜像,我就关机下次使用。

但是当我重启发现呢,镜像都不在了,但是由于网络问题,镜像每天都在变,不可能每天更新站点拉取镜像。于是我就开始排查原因。当我发现本身存储的/var/lib/docker下存储内容没有改变时。

同时我还发现每次重启我上次设置的镜像网址都失效了,我就认识到我ubuntu启动时,docker加载的配置文件,不是我们通常认为的/etc/docker/daemon.json。解决方案就呼之欲出乐。

解决方案

正常重启后先什么都不做。

1.查找你的docker配置文件,有好几种配置方案

A:使用

js 复制代码
ps aux | grep dockerd

我的结果:

js 复制代码
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:使用查看服务配置的方法,该方法和我实践过,不过是根据服务来操作的。

js 复制代码
systemctl show -p FragmentPath docker

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

js 复制代码
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应当就没这个问题。

相关推荐
皮皮冰燃1 天前
docker-18-WSL中安装docker并部署flask服务
docker·容器·flask
少年白char1 天前
整理上万首音乐后的完整工作流:下载、刮削、播放与避坑指南
docker·nas·musictag·音乐刮削·音乐标签
萧行之2 天前
Docker部署Loki+Grafana+Vector实现全服务器日志监控(含N8N/SSH/Fail2ban监控)
服务器·docker·grafana
人工智能培训2 天前
工程科研中的AI应用:结构力学分析技巧
人工智能·深度学习·机器学习·docker·容器
计算机安禾2 天前
【Linux从入门到精通】第35篇:容器化技术预备——Docker安装与基本概念
linux·运维·docker
子木HAPPY阳VIP2 天前
信创UOS,Docker 完整操作部署(Dockerfile部署方式)&排错整合
linux·运维·redis·nginx·docker·容器·tomcat
AI服务老曹2 天前
架构实战:基于 GB28181 与 RTSP 的异构设备统一接入方案,深度解析 Docker 化 AI 视频管理平台
人工智能·docker·架构
叶总没有会2 天前
Docker:项目部署
运维·docker·容器
爱学习 爱分享2 天前
docker 本地装瀚高 4.5 数据库
数据库·docker·容器
叶总没有会2 天前
Docker入门
运维·docker·容器