詹金斯:docker.com 的请求太多
Jenkins: toomanyrequests with docker.com
我们正在使用 Jenkins docker 插件从 docker.com 中提取 CI 图像。这已工作多年:
def oppossumCI = docker.image('hyrise/opossum-ci:20.04');
oppossumCI.pull()
几天后,我们看到了这条错误消息:
+ docker pull hyrise/opossum-ci:20.04
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.com,错误消息中使用的“您”似乎是由 IP 地址识别的。在多个系统使用相同 IP 地址从 docker.com 拉取的设置中(例如,一所大学),您将很快 运行 耗尽资源。因此,事情可能突然看起来很糟糕,只是因为网络上的其他人耗尽了资源。
通过使用免费的 Docker 帐户,您的 CI 服务器将获得自己的资源。
步骤:
- 在集线器上创建一个帐户。docker.com。
- 将凭证添加到 Jenkins 的凭证存储中。在此示例中,凭证的 ID 为
docker
.
- 修改您的 Jenkinsfile 以使用该帐户:
docker.withRegistry('https://registry.hub.docker.com', 'docker') {
def oppossumCI = docker.image('hyrise/opossum-ci:20.04');
oppossumCI.pull()
...
}
如果为免费用户提供的资源不够,您可能需要升级到付费账户。
我们正在使用 Jenkins docker 插件从 docker.com 中提取 CI 图像。这已工作多年:
def oppossumCI = docker.image('hyrise/opossum-ci:20.04');
oppossumCI.pull()
几天后,我们看到了这条错误消息:
+ docker pull hyrise/opossum-ci:20.04
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.com,错误消息中使用的“您”似乎是由 IP 地址识别的。在多个系统使用相同 IP 地址从 docker.com 拉取的设置中(例如,一所大学),您将很快 运行 耗尽资源。因此,事情可能突然看起来很糟糕,只是因为网络上的其他人耗尽了资源。
通过使用免费的 Docker 帐户,您的 CI 服务器将获得自己的资源。
步骤:
- 在集线器上创建一个帐户。docker.com。
- 将凭证添加到 Jenkins 的凭证存储中。在此示例中,凭证的 ID 为
docker
. - 修改您的 Jenkinsfile 以使用该帐户:
docker.withRegistry('https://registry.hub.docker.com', 'docker') {
def oppossumCI = docker.image('hyrise/opossum-ci:20.04');
oppossumCI.pull()
...
}
如果为免费用户提供的资源不够,您可能需要升级到付费账户。