docker镜像加速器配置daemon.json不生效_daemon.json配置不生效
现象
安装docker26.1.4,启动服务拉取镜像发现超时,走的是官方镜像仓库地址,配置本地加速后/etc/docker/daemon.json,重启仍然走的官方地址
加速器地址:https://docker.imgdb.de/
docker info | grep \'Registry Mirrors\'
展示的是:io.docker,非我们配置的地址
再继续测试:
1、不通过系统服务systemctl 启动docker容器 ,临时启动docker指定加速器地址
sudo dockerd --registry-mirror=https://docker.imgdb.de/ --debug
发现这个时候加速生效了
这个时候可以判断是通过系统服务sysytemd启动导致的问题
查看
cat /usr/lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
我们的配置
[root@VM-8-10-centos system]# cat /etc/docker/daemon.json { \"registry-mirrors\": [\"https://docker.imgdb.de/\"]}[root@VM-8-10-centos system]# 
配置依然未生效,Docker 默认套接字路径可能被覆盖(如 systemd 配置冲突),fd://监听路径可能没能正确加载/etc/docker/daemon.json 配置
修改方法
套接字监听协议修改为unix://:
不要直接修改docker.service,通过override.conf重置参数
sudo mkdir -p /etc/systemd/system/docker.service.dsudo tee /etc/systemd/system/docker.service.d/override.conf <<-\'EOF\' 这个系统启动文件覆盖了docker配置[Service]ExecStart=ExecStart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock --host=unix:///var/run/docker.sockEOF
这样就解决了配置加速器失效问题
Docker 26.1.4 版本中,同时监听多个套接字时可能出现配置加载异常(官方已确认并修复)
[root@lavm-6pow30ca87 ~]# docker info 查看docker运行信息 可以查看是否正常连接Client: Docker Engine - Community Version: 26.1.4 Context: default Debug Mode: false Plugins: buildx: Docker Buildx (Docker Inc.) Version: v0.14.1 Path: /usr/libexec/docker/cli-plugins/docker-buildx compose: Docker Compose (Docker Inc.) Version: v2.27.1 Path: /usr/libexec/docker/cli-plugins/docker-composeServer: Containers: 1 Running: 1 Paused: 0 Stopped: 0 Images: 2 Server Version: 26.1.4 Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Using metacopy: false Native Overlay Diff: true userxattr: false Logging Driver: json-file Cgroup Driver: cgroupfs Cgroup Version: 1 Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog Swarm: inactive Runtimes: io.containerd.runc.v2 runc Default Runtime: runc Init Binary: docker-init containerd version: d2d58213f83a351ca8f528a95fbd145f5654e957 runc version: v1.1.12-0-g51d5e94 init version: de40ad0 Security Options: seccomp Profile: builtin Kernel Version: 3.10.0-1160.el7.x86_64 Operating System: CentOS Linux 7 (Core) OSType: linux Architecture: x86_64 CPUs: 2 Total Memory: 7.608GiB Name: lavm-6pow30ca87 ID: 1cf81d56-b644-4a59-82fb-aea52fe9715f Docker Root Dir: /var/lib/docker Debug Mode: false Experimental: false Insecure Registries: 127.0.0.0/8 Registry Mirrors: https://docker.imgdb.de/ Live Restore Enabled: false
Registry Mirrors:
https://docker.imgdb.de/ 成功读取配置


