我正在使用 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)
这里发生了什么?谢谢你的帮助。
答案 0 :(得分:0)
我终于解决了自己的问题。 我不知道为什么我突然被要求提供证书而我不需要它。
使用DOCKER_AUTH_CONFIG变量没有帮助我。
解决方案是从我的私人跑步者登录。然后它能够拉动图像。
docker login private-runner.example.com -u John -p mypassword
然后我拉出来并退出。
我不知道这是一个解决方案还是一个解决方法...但后来,我完全重新安装了我的跑步者,我没有登录就成功了...