“Get http://X.X.X.X: no basic auth credentials”在 gitlab ci/cd runner 的构建映像阶段出错

" Get http://X.X.X.X: no basic auth credentials " error at build-image stage with gitlab ci/cd runner

我有一个 nexus 存储库管理器 ip:192.168.253.10 我构建并将 docker 图像推送到其中。 这是我的 gitlab-ci.yml 文件 构建映像阶段:

build-image:
  stage: build-image
  only:
    - master
  when: manual
  before_script:
   - git clone http://192.168.251.80/public-group/devops.git
   - cp -Rv devops/DevOps/src/main/docker/app-scripts src/main/docker/
   - cp -v devops/DevOps/src/main/docker/itext-4.2.0.jar target/$App_Name/WEB-INF/lib
  script:
        - cp -R target/$App_Name src/main/docker/
        - cd src/main/docker
        - docker rm -f $App_Name || true
        - docker rmi -f 192.168.253.10/$App_Name:latest || true
        - docker build -t 192.168.253.10/$App_Name:latest .

  tags:
   - shell

这个阶段使用带有 shell 执行器的跑步者

192.168.251.80是我的gitlab服务器 我的 gitlab-runner 在 192.168.253.75

上注册并安装

在 运行 这个阶段之后,我得到了这样的错误:

$ docker build -t 192.168.253.10/$App_Name:latest .
Sending build context to Docker daemon  189.3MB

Step 1/8 : FROM 192.168.253.10/ahg-img-weblogic:v3
Get http://192.168.253.10/v2/ahg-img-weblogic/manifests/v3: no basic auth credentials
ERROR: Job failed: exit status 1

我登录到我的nexus服务器 docker login 192.168.253.10 并将我的nexus服务器设置为我的gitlab-runner服务器192.168.253.75

中的insecure registry

我不知道我还应该做些什么来修复这个错误 有什么想法吗?

根据这个错误,您似乎没有登录您的私有 docker 注册表。首先检查您的登录状态,如果您已登录但问题尚未解决,请检查您的用户! 有时用户会像 CI/CD 脚本一样远程调用命令,并且此用户与登录的用户不同。