You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置insecure-registries后从Nexus Docker仓库拉取镜像仍报HTTPS错误

问题排查与解决方案

1 优先排查daemon.json配置生效持久性

  • 首先检查配置是否真的持久生效,运行以下命令查看Docker实际加载的不安全仓库列表:
    docker info | grep -A 3 "Insecure Registries"
    如果输出列表里没有nexus-host:8083,说明配置被覆盖。优先检查是否存在/etc/docker/daemon.json.d/目录,该目录下的配置片段优先级高于全局daemon.json,删除目录内冲突的配置项,或者把你的仓库规则添加到对应片段中即可。
  • 其次检查systemd启动参数是否有硬编码规则:部分发行版的Docker服务启动参数里会内置--insecure-registry配置,优先级高于配置文件,运行命令查看:
    systemctl cat docker.service | grep ExecStart
    如果启动命令里有冲突的规则,修改/etc/systemd/system/docker.service.d/override.conf删除冲突项,之后执行systemctl daemon-reload && systemctl restart docker生效。

2 排查Nexus侧配置异常

  • 检查Nexus对应Docker仓库的连接器配置:进入Nexus管理后台,打开对应仓库的「Repository Connectors」设置页,确认只开启了HTTP连接器,没有启用HTTPS连接器,也没有开启强制HTTPS跳转的规则。如果误开了HTTPS跳转,会导致客户端第一次走HTTP请求后被强制跳转到HTTPS,触发报错。
  • 检查Nexus前置反向代理配置:如果Nexus前面部署了Nginx、Apache等反向代理,确认代理侧没有配置HTTP自动跳转到HTTPS的规则,关闭对应跳转规则即可。

3 排查客户端缓存问题

Docker客户端会对仓库的访问协议做短期缓存,如果你的客户端此前用HTTPS访问过该仓库,缓存失效前会优先走HTTPS协议。可以执行docker logout nexus-host:8083清除旧的访问记录,之后重新登录仓库即可。

4 临时验证方案

如果需要紧急拉取镜像,可以显式指定HTTP协议前缀拉取:
docker pull http://nexus-host:8083/[镜像名]:[版本号]

内容的提问来源于stack exchange,提问作者Alon Tsaraf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 17:00:00