如果凭据助手到位,Nomad无法提取其他图像

问题描述

我正在尝试使用Nomad从我的ecr存储库以及dockerhub提取图像。问题是,如果我自己不拉那些图像,Nomad不会拉它们,并且会报错:

Failed to find docker auth for repo "envoyproxy/envoy": docker-credential-ecr-login with input "envoyproxy/envoy" Failed with stderr: exit status 1

它很容易拉出ECR图像,但是我所部署的小汽车或非ECR图像所需的那些图像(例如postgres)不会以相同的错误被拉出。还有其他人遇到相同的问题吗?

解决方法

我遇到了同样的问题,如果您仅使用此节,我不确定是否有解决方法:

plugin "docker" {
  config {
    auth {
      helper = "ecr-login"
    }
  }
}

或者,我设置为:

plugin "docker" {
  config {
    auth {
      config = "/opt/docker.json"
    }
  }
}

然后使用以下值填充/opt/docker.json中的文件:

{
  "credHelpers": {
    "000000000000.dkr.ecr.us-west-2.amazonaws.com": "ecr-login"
  },"auths": {
    "https://index.docker.io/v1/": {}
  }
}

使用您的aws帐户ID替换000000000000,将您所在的区域替换为us-west-2。