无法在 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 alpine
。
gitlab-runner
的 config.toml
有行 pre_build_script = "docker login -u grex -p <password>"
docker info
行表明我的用户已登录。
我遵循了 the docs 中的所有选项,但无济于事。在每个管道 运行 之后,我检查了我的用户的当前速率限制并且它保持不变,让我推断管道进行了未经身份验证的 docker 拉取。感谢您的帮助!
经过一些实验,Gitlab 似乎缓存了图像,这导致拉取的图像数量没有改变。
我正在尝试通过登录我的 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 alpine
。
gitlab-runner
的 config.toml
有行 pre_build_script = "docker login -u grex -p <password>"
docker info
行表明我的用户已登录。
我遵循了 the docs 中的所有选项,但无济于事。在每个管道 运行 之后,我检查了我的用户的当前速率限制并且它保持不变,让我推断管道进行了未经身份验证的 docker 拉取。感谢您的帮助!
经过一些实验,Gitlab 似乎缓存了图像,这导致拉取的图像数量没有改变。