Jenkins 詹金斯:toomanyrequests与docker.com

Jenkins 詹金斯:toomanyrequests与docker.com,jenkins,jenkins-pipeline,docker-registry,Jenkins,Jenkins Pipeline,Docker Registry,我们正在使用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 p

我们正在使用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
  • 修改您的文件以使用该帐户:
  • 如果为免费用户提供的资源不足,您可能需要升级到付费帐户

    docker.withRegistry('https://registry.hub.docker.com', 'docker') {
      def oppossumCI = docker.image('hyrise/opossum-ci:20.04');
      oppossumCI.pull()
      ...
    }