Mat*_*unz 5 gitlab docker gitlab-ci dockerhub gitlab-ci-runner
当我在自己的跑步者“myrunner”上运行这个 Gitlab CI 作业时
test:
tags:
- myrunner
image: docker:latest
stage: build
services:
- docker:dind
script:
- echo "It works!"
rules:
- when: always
Run Code Online (Sandbox Code Playgroud)
我收到此错误消息:
Preparing the "docker" executor
Using Docker executor with image docker:latest ...
Starting service docker:dind ...
Pulling docker image docker:dind ...
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:1s)
Will be retried in 3s ...
Run Code Online (Sandbox Code Playgroud)
我怎样才能拉动图像之前认证DIND:泊坞窗,以避免对拉速率限制Dockerhub?
创建自己的 Gitlab runner 的步骤:
开始跑步者:
docker run -d --name gitlab-runner --restart always \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:latest
Run Code Online (Sandbox Code Playgroud)
登记:
docker run --rm -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register \
--non-interactive \
--executor "docker" \
--docker-image docker:stable \
--url "DOMAIN" \
--registration-token "REGISTRATION_TOKEN" \
--description "docker-runner" \
--tag-list "myrunner" \
--run-untagged="true" \
--locked="false" \
--access-level="not_protected" \
--docker-volumes "/certs/client" \
--docker-volumes /var/run/docker.sock:/var/run/docker.sock \
--docker-privileged
Run Code Online (Sandbox Code Playgroud)
我将此添加到我的gitlab-ci.yml:
variables:
DOCKER_AUTH_CONFIG: '{ "auths": { "https://index.docker.io/v1/": { "auth": "$DOCKER_AUTH" } }}'
Run Code Online (Sandbox Code Playgroud)
的值$DOCKER_AUTH可以用
echo -n "my_username:my_password" | base64
Run Code Online (Sandbox Code Playgroud)
使用 Dockerhub 的用户名/密码。
| 归档时间: |
|
| 查看次数: |
1690 次 |
| 最近记录: |