Аутентификация ECR через Docker Remote API - PullRequest
0 голосов
/ 27 ноября 2018

Мне нужно войти в мой репозиторий AWS ECR, чтобы он мог извлекать любые нужные изображения с помощью API.Мне нужно перевести, что команда aws ecr get-login --no-include-email --registry-ids <registry_id> делает с помощью Docker API.

Например -

  1. [решено] Необходимо выполнить вызов API в AWSчтобы получить учетные данные для входа в Docker
    • вызов API для этого даст мне base64encoded строку, которая имеет username и password
  2. Какиспользовать эти AWS creds в API входа в Docker (используя Docker Remote API ) вызов (эквивалентный docker login -u AWS -p <password> <server_address>) ??

1 Ответ

0 голосов
/ 27 ноября 2018

Это то, что я делаю -

  1. Получение выходных данных AWS API
  2. Обработка выходных данных API AWS для получения строки base64encoded
  3. Запуск API входа в Dockerвызов с кодированной строкой base64

Если у вас есть доступ к 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

Вы можете перевести логику на другие языки по своему желанию.

...