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

带用户名的Docker镜像在Nexus缓存时拉取失败问题咨询

解决Nexus缓存Docker嵌套路径镜像拉取失败的问题

针对你遇到的问题,以下是几个可行的排查和解决步骤:

  • 检查Nexus Docker代理的V1 API支持
    你的Docker Engine版本是20.10.20,属于较老版本,部分镜像拉取请求可能仍依赖Docker V1 API。进入Nexus管理界面,找到对应的Docker代理仓库配置,勾选Allow Docker V1 API选项,保存后重启仓库服务,再尝试拉取镜像。

  • 确认Nexus代理仓库的路径配置
    确保Docker代理仓库的Remote Storage设置为https://registry-1.docker.io,Repository Path保持为/,这样才能正确代理Docker Hub上所有路径的镜像。同时检查是否存在仓库路由规则限制了sameersbn/*这类嵌套路径的镜像,如果有,调整规则允许该路径的缓存。

  • 清理本地和Nexus缓存后重试

    1. 清理Docker本地缓存:
      docker rmi server:8042/sameersbn/gitlab:15.0.3 2>/dev/null
      docker system prune -f
      
    2. 登录Nexus管理界面,进入目标Docker代理仓库的Browse页面,删除sameersbn/gitlab相关的缓存条目,然后重新执行拉取命令,让Nexus重新从Docker Hub获取并缓存镜像。
  • 验证Docker daemon的镜像仓库配置
    检查/etc/docker/daemon.json文件,确保Nexus作为镜像仓库的配置正确,没有冲突的规则。示例配置如下:

    {
      "registry-mirrors": ["http://server:8042"]
    }
    

    修改后重启Docker服务:systemctl restart docker,再尝试拉取操作。

  • 检查Nexus的网络连通性
    在Nexus服务器上执行以下命令,确认能正常访问Docker Hub上目标镜像的manifest:

    curl https://registry-1.docker.io/v2/sameersbn/gitlab/manifests/15.0.3
    

    如果访问失败,排查Nexus的网络代理、防火墙设置,确保能正常获取镜像元数据。同时确认Nexus的Docker仓库允许匿名拉取,避免权限拦截问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 06:10:17