无法在 Gitlab CI 中使用经过身份验证的用户拉取图像

Cannot pull images using authenticated user in GitlabCI

我正在尝试通过登录我的 gitlab-runner 中的 DockerHub 帐户来缓解 DockerHub 拉取限制。我没有使用像 Gitlab 的依赖代理这样的方法,因为我必须编辑数百个文件。我决定在 gitlab-runner 中登录 Docker。

.gitlab-ci.yml:

image: docker

services:
  - docker:dind

stages:
  - base

docker-build:
  stage: base
  tags:
    - experimental
  script:
    - docker build -t grex:alpine_${CI_PIPELINE_ID} ./alpine
    - docker info

alpine 文件夹包含一个 Docker 文件,其中仅包含 FROM alpinegitlab-runnerconfig.toml 有行 pre_build_script = "docker login -u grex -p <password>"

docker info 行表明我的用户已登录。 我遵循了 the docs 中的所有选项,但无济于事。在每个管道 运行 之后,我检查了我的用户的当前速率限制并且它保持不变,让我推断管道进行了未经身份验证的 docker 拉取。感谢您的帮助!

经过一些实验,Gitlab 似乎缓存了图像,这导致拉取的图像数量没有改变。