0

我需要登录到我的AWS ECR存储库,以便它可以使用 API 提取所需的任何图像。我需要翻译aws ecr get-login --no-include-email --registry-ids <registry_id>使用 Docker API 执行的命令。

例如 -

  1. [已解决]需要对 AWS 进行 API 调用才能获取 docker 的登录凭证
    • 对此的 API 调用将为我base64encoded提供具有usernamepassword
  2. 如何AWS creds在 docker login API(通过使用Docker Remote API)调用(相当于docker login -u AWS -p <password> <server_address>)中使用那些?
4

1 回答 1

1

这就是我所做的-

  1. 从 AWS API 获取输出
  2. 处理 AWS API 输出以获取 base64 编码的字符串
  3. 使用 base64 编码的字符串运行 docker login API 调用

如果您有权访问 bash -

#!/bin/bash

login_command=$(aws ecr get-login | sed 's/-e none//g' | sed 's/  */ /g')

if (echo "$login_command" | grep -q -E '^docker login -u AWS -p')
then
  $login_command;
fi

您可以根据需要将逻辑翻译成其他语言。

于 2018-11-27T02:21:01.410 回答