GitLab Runner 不使用注册表镜像

GitLab Runner not using Registry Mirror

自从 docker 引入拉取率限制后,我 运行 成为了一个拉取注册中心。 我已经使用 dockers 站点 (https://docs.docker.com/registry/recipes/mirror/#configure-the-cache) 上的文档完成了设置。

在我的跑步者中 config.toml 将安装两个卷,一个用于 docker 插座,另一个用于 daemon.json.

但每次我想构建一些东西时,我都会收到以下错误消息,表明我已达到拉取率限制:

Running with gitlab-runner 13.11.0 (7f7a4bb0)


on srv-gitlab-ba5 vXWs_kze
Preparing the "docker" executor
00:25
Using Docker executor with image alpine:3.12 ...
WARNING: Pulling GitLab Runner helper image from Docker Hub. Helper image is migrating to registry.gitlab.com, for more information see https://docs.gitlab.com/runner/configuration/advanced-configuration.html#migrate-helper-image-to-registrygitlabcom
Pulling docker image gitlab/gitlab-runner-helper:x86_64-7f7a4bb0 ...
Using docker image sha256:25f27e06750273451a8211bbe80dc14f5d2bb389ff912ae0adffb477fa26058f for gitlab/gitlab-runner-helper:x86_64-7f7a4bb0 with digest gitlab/gitlab-runner-helper@sha256:20ff486a25738d42d2bca770092d2c4b1ae28881de3b599877ab954d3654a08a ...
Pulling docker image alpine:3.12 ...
WARNING: Failed to pull image with policy "always": toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit (manager.go:205:2s)
ERROR: Preparation failed: failed to pull image "alpine:3.12" with specified policies [always]: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit (manager.go:205:2s)
Will be retried in 3s ...

我的 config.toml 跑步者看起来像:

concurrent = 5
check_interval = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "srv-gitlab-ba5"
  url = "***"
  token = "***"
  executor = "docker"
  [runners.cache]
    Type = "s3"
    Shared = true
    [runners.cache.s3]
      ServerAddress = "***"
      AccessKey = "***"
      SecretKey = "***"
      BucketName = "gitlab-cache"
      Insecure = false
  [runners.docker]
    tls_verify = false
    image = "docker:19.03.8"
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/etc/docker:/etc/docker:ro", "/cache"]
    shm_size = 0

docker-compose.yml 亚军:

version: "3.7"
services:
  gitlab_runner:
    image: {self build image with config.toml above}
    restart: always
    container_name: gitlab-runner
    privileged: true
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /etc/docker:/etc/docker:ro

谁能告诉我我的配置是否正确,或者我有没有可能忘记了什么? 我在谷歌上搜索了很多,但没有找到解决我问题的正确方法。

如果您不经常关闭实例运行程序,请尽量避免使用选项“始终”

WARNING: Failed to pull image with policy "always"

要切换此值,请使用 --docker-pull-policy "if-not-present" 设置 gitlab-runner 注册表 然后 docker 将保留图像层并且不会每次都从 docker 注册表中提取它,没有线索然后创建额外的注册表