Получение изображения из Amazon ECR из конвейеров Bitbucket - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь получить образ докера из частного хранилища Amazon Docker (ECR) из конвейеров Bitbucket.

Я делаю следующее:

script:           
   - aws ecr get-login --registry-ids $AWS_ID --no-include-email --region $AWS_REGION
   - docker run -d -p 9092:9092 --name=kapi $AWS_ID.dkr.ecr.$AWS_REGION.amazonaws.com/company/kapi:1.0

Я вижу ошибкуна трубопроводах:

docker: Error response from daemon: Get https://$AWS_ID.dkr.ecr.$AWS_REGION.amazonaws.com/v2/company/kapi/manifests/1.0: no basic auth credentials.

Ответы [ 2 ]

0 голосов
/ 14 марта 2019

Команда aws ecr get-login создает команду входа в Docker.Если вы не eval это, на самом деле он не будет регистрировать вас в реестре.Это должно работать, если ваши AWS_ACCESS_ID и AWS_ACCESS_SECRET верны:

eval $(aws ecr get-login --registry-ids $AWS_ID --no-include-email --region $AWS_REGION)

Ваш шаг сценария должен выглядеть следующим образом:

script:           
   - aws ecr get-login --registry-ids $AWS_ID --no-include-email --region $AWS_REGION
   - docker run -d -p 9092:9092 --name=kapi $AWS_ID.dkr.ecr.$AWS_REGION.amazonaws.com/company/kapi:1.0
0 голосов
/ 12 февраля 2019

Что ж, ошибка кажется довольно ясной:

no basic auth credentials

aws ecr get-login возвращает команду для выполнения, чтобы войти в систему.Я не знаю, какую платформу вы используете, но если вы используете linux,

Попробуйте выполнить команду, возвращаемую AWS:

$(aws ecr get-login --registry-ids $AWS_ID --no-include-email --region $AWS_REGION)

Вы должны получить сообщение от докерачто вы успешно вошли в систему:

WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Login Succeeded

Отладка

Вы можете отладить, если она все еще не работает, запустив команду вручную:

aws ecr get-login --registry-ids $AWS_ID --no-include-email --region $AWS_REGION

Она должна вернутьсячто-то вроде:

docker login -u AWS -p ALongText https://ID.dkr.ecr.REGION.amazonaws.com
...