Gitlab-CI - Runner无法提取docker镜像 - 需要授权令牌

时间:2018-06-08 17:32:59

标签: docker gitlab-ci gitlab-ci-runner gitlab-omnibus gitlab-api

我正在使用 Omnibus Gitlab版本10.7.3-ee 。 我使用个人访问令牌成功地在我自己的注册表上推送了一个docker镜像。 但是当我想在Gitlab CI管道中从这个图像构建时,我在gitlab接口中遇到以下错误:

Running with gitlab-runner 10.6.0 (xxxxxxx)
on my-runner xxxxxxx
Using Docker executor with image gitlab.example.com/myproject/myimage1 ...
Pulling docker image gitlab.example.com/myproject/myimage1 ...
ERROR: Preparation failed: Error: No such image: gitlab.example.com/myproject/myimage1
Will be retried in 3s ...

在gitlab服务器端,我进入 / var / log / gitlab / registry / current

level=warning msg="error authorizing context: authorization token required"

同时在 /var/log/gitlab/gitlab-rails/production.log

Processing by Gitlab::RequestForgeryProtection::Controller#index as */*
  Parameters: {"changes"=>"_any", "gl_repository"=>nil, "project"=>"myproject/project.git", "protocol"=>"ssh", "env"=>"{}", "key_id"=>"[FILTERED]", "secret_token"=>"[FILTERED]"}
Can't verify CSRF token authenticity
This CSRF token verification failure is handled internally by `GitLab::RequestForgeryProtection`
Unlike the logs may suggest, this does not result in an actual 422 response to the user
For API requests, the only effect is that `current_user` will be `nil` for the duration of the request
Completed 422 Unprocessable Entity in 0ms (ActiveRecord: 0.0ms | Elasticsearch: 0.0ms)

这里发生了什么?谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

我终于解决了自己的问题。 我不知道为什么我突然被要求提供证书而我不需要它。

使用DOCKER_AUTH_CONFIG变量没有帮助我。

解决方案是从我的私人跑步者登录。然后它能够​​拉动图像。

docker login private-runner.example.com -u John -p mypassword

然后我拉出来并退出。

我不知道这是一个解决方案还是一个解决方法...但后来,我完全重新安装了我的跑步者,我没有登录就成功了...