【问题标题】:Using AWS ECR with portainer push/pull images not working将 AWS ECR 与 portainer 推/拉图像一起使用不起作用
【发布时间】:2020-11-23 00:44:23
【问题描述】:

我无法让 portainer 与 AWS ECR 一起正常工作。 我在 ECR 上启动并运行了我的图像,如果我通过 SSH 使用命令行运行我的 docker-compose,它会按预期工作。如果我做一个简单的 docker pull {myid}.dkr.ecr.eu-west-1.amazonaws.com/{repository} 它也可以工作。

但是,如果我尝试通过搬运工 GUI 转到同一图像并点击拉/推,我总是会收到以下消息:

我的存储库设置: 至少使用 portainer,我可以很好地了解我正在运行的容器和可用图像,但遗憾的是,到目前为止,我无法使用 GUI 更新它们。通常在进行更新时,我会推送(从我的本地计算机),然后在 portainer 中我重新创建容器并指定拉取新图像。当然,到目前为止,我不能用失败的拉动..

当使用 docker "cli" 时,我可以做任何我想做的事情,推送、拉取和使用我的 ECR 图像的 docker-compose 可以毫无问题地运行。

提前致谢。

【问题讨论】:

  • 您找到解决方案了吗?我也有同样的问题。。
  • 不幸的是,我正在使用 aws cli 来处理我的 npm 任务。如果有兴趣,我会在我的帖子中添加解决方案。

标签: amazon-web-services docker docker-registry amazon-ecr portainer


【解决方案1】:

不幸的是,我正在使用 aws cli 来处理我的 npm 任务。如果对这里感兴趣,它是: `

  "publish": "npm run _docker:build && npm run _aws:auth && npm run _aws:tag && npm run _aws:push && npm run _docker:prune",
  "_docker:build": "docker build -t *yourImageName* .",
  "_aws:auth": "aws ecr get-login-password --region eu-west-1 | docker login --username AWS --password-stdin *yourID*.dkr.ecr.eu-west-1.amazonaws.com",
  "_aws:tag": "docker tag *yourImageName:latest* yourID.dkr.ecr.eu-west-1.amazonaws.com/*yourImageName*:latest",
  "_aws:push": "docker push *yourID*.dkr.ecr.eu-west-1.amazonaws.com/*yourImageNam*e:latest",
  "_docker:prune": "docker image prune -f"

`

【讨论】:

    【解决方案2】:

    我通过在每 30 分钟左右运行 AWS ECR 存储库(解释为 here)的登录脚本的服务器上创建一个 cronjob 解决了这个问题。这样就不需要在portainer中添加注册表了。

    您可以通过 AWS CLI 解释 here 检索密码,并使用它通过 portainer 登录。 但这是一个坏主意的原因是因为 AWS 每天重置密码两次,因此登录只能在 12 小时内有效。

    【讨论】:

      猜你喜欢
      • 2018-05-20
      • 2021-07-27
      • 2021-11-19
      • 2020-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-30
      相关资源
      最近更新 更多