如何解决詹金斯: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 服务器将被分配自己的资源。
步骤:
- 在 hub.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()
...
}
如果为免费用户提供的资源不足,您可能需要升级到付费帐户。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。