GitLab Runner & Docker: ERROR: Preparation failed: Error: No such image

GitLab Runner & Docker: ERROR: Preparation failed: Error: No such image

当尝试从 Docker 中提取 public 图像(例如 python:3.6node:latest)时,我们的 GitLab 运行程序失败并显示以下错误消息:

Running with gitlab-runner 12.2.0 (a987417a)
  on GitLab Runner XYZ
Using Docker executor with image python:3.6 ... 00:17
Starting service python:3.6 ...
Pulling docker image python:3.6 ...
ERROR: Preparation failed: Error: No such image: python:3.6 (executor_docker.go:199:0s)

原因是我们超出了 Dockers pull rate limit:

  • 免费计划 – 匿名用户:每 6 小时 100 次拉动
  • 免费计划 – 经过身份验证的用户:每 6 次拉取 200 次

如何查看我当前的汇率?

https://docs.docker.com/docker-hub/download-rate-limit/#how-can-i-check-my-current-rate

如何提高速率限制?

使用 Docker Hub 进行身份验证以增加到每 6 小时 200 次拉取:

docker login

或者,您可以 cache Docker images to reduce the number of calls to DockerHub 从您的 CI/CD 基础设施。