[英]How to login docker account in Gitlab-ci
我已經訂閱了docker帳戶的 Pro 計划,以提高我自己托管的 Gitlab CI 作業的速率限制。 然后在服務器上使用此命令成功登錄:
$ sudo docker login -u user -p *******
這是我的.gitlab-ci.yml
文件:
image: edbizarro/gitlab-ci-pipeline-php:7.3-alpine
unittest:
stage: testing
services:
- mysql:latest
script:
- ./vendor/bin/phpunit --colors --stop-on-failure
但是當工作開始時,我仍然收到這個錯誤:
Running with gitlab-runner 13.6.0 (8fa89735)
on fafa-group-runner n7oiBzAk
Preparing the "docker" executor
30:53
Using Docker executor with image edbizarro/gitlab-ci-pipeline-php:7.3-alpine ...
Starting service mysql:latest ...
Pulling docker image mysql:latest ...
ERROR: Preparation failed: Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit (docker.go:142:4s)
我錯過了什么嗎?
您以 root 用戶身份在主機上執行了 docker 登錄。 然而,圖像是由 GitLab 跑步者拉取的,這將是另一個用戶,可能是容器化的。
配置運行器注冊表憑據的說明有多個選項,包括在項目的.gitlab-ci.yml
或運行器的config.toml
中設置DOCKER_AUTH_CONFIG
。 該變量包含~/.docker/config.json
的內容,其中包含注冊表憑據。
另請檢查GitLab 13.9 (2021 年 2 月)
使用依賴代理時自動進行身份驗證
通過代理和緩存來自 Docker Hub 的容器圖像,依賴代理可幫助您提高管道的性能。
盡管該代理旨在大量用於 CI/CD,但要使用該功能,您必須將您的憑據添加到
DOCKER_AUTH_CONFIG
CI/CD 變量或在您的管道中手動運行docker login
。 這些解決方案工作正常,但是當您考慮需要更新多少.gitlab-ci.yml
文件時,如果 GitLab Runner 可以自動為您進行身份驗證會更好。由於 Runner 已經能夠使用集成的 GitLab Container Registry 自動進行身份驗證,因此我們能夠利用該功能來幫助您自動使用 Dependency Proxy 進行身份驗證。
現在可以更輕松地使用 Dependency Proxy 從 Docker Hub 代理和緩存您的容器鏡像,並開始更快、更可靠的構建。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.