Ubuntu 20.04配置Docker镜像源后daemon.json文件未被系统识别问题
Ubuntu 20.04下Docker daemon.json镜像源配置不生效排查步骤
你当前的配置语法本身符合官方规范,可按以下顺序排查不生效问题:
- 第一步:验证配置文件语法合法性
运行命令jq . /etc/docker/daemon.json检查JSON语法,若命令报错说明存在语法问题,比如使用了中文引号、末尾多余逗号、括号不匹配等。标准配置格式参考:{ "registry-mirrors": ["https://myserver.com"] } - 第二步:检查文件权限与归属
Docker服务默认需要root权限读取配置文件,执行以下命令修正权限:sudo chown root:root /etc/docker/daemon.json sudo chmod 644 /etc/docker/daemon.json - 第三步:验证配置是否正常加载
完成修改后执行全流程重启命令,再查看配置是否被识别:
查看sudo systemctl daemon-reload sudo systemctl restart docker docker infodocker info输出中的Registry Mirrors字段,若能看到你配置的https://myserver.com说明配置已生效,若不存在才是配置未被读取。 - 第四步:排查systemd启动参数覆盖问题
部分Docker安装包会在systemd启动配置中硬编码镜像源参数,优先级高于daemon.json配置,执行命令systemctl cat docker.service查看ExecStart启动行,若存在--registry-mirror参数,删除该参数后重新执行第三步的重启命令即可。 - 第五步:确认Docker版本支持
1.12以下的旧版本Docker对daemon.json的支持存在缺陷,执行docker --version查看版本,建议升级到20.10及以上稳定版本。
内容的提问来源于stack exchange,提问作者Fardin Kamali
相关产品推荐
相关产品推荐

