Я получаю статус выхода AWS ECR 255, несмотря на использование контейнеров AWS Ubuntu - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь создать докер-контейнер в сборке кода AWS как средство развертывания контейнера в ECR, но я получаю эту ошибку.

Error while executing command: $(aws ecr get-login --region ap-southeast-1). Reason: exit status 255

enter image description here

Эта команда была выполнена для файла buildspec.yml с использованием aws / codebuild / ubuntu-base: 14.04 и включите этот флаг, если вы хотите создавать образы Docker или хотите, чтобы ваши сборки получали повышенные привилегии.

Файлы журнала следующие:

[Container] 2018/10/11 00:52:49 Running command $(aws ecr get-login --region $AWS_DEFAULT_REGION --no-include-email)

An error occurred (AccessDeniedException) when calling the GetAuthorizationToken operation: User: arn:aws:sts::502776083946:assumed-role/code-build-timesheet/AWSCodeBuild-f1d205b1-b03f-4727-a4d7-a02118021eec is not authorized to perform: ecr:GetAuthorizationToken on resource: *

[Container] 2018/10/11 00:52:52 Command did not exit successfully $(aws ecr get-login --region $AWS_DEFAULT_REGION --no-include-email) exit status 255
[Container] 2018/10/11 00:52:52 Phase complete: INSTALL Success: false
[Container] 2018/10/11 00:52:52 Phase context status code: COMMAND_EXECUTION_ERROR Message: Error while executing command: $(aws ecr get-login --region $AWS_DEFAULT_REGION --no-include-email). Reason: exit status 255

Ответы [ 2 ]

0 голосов
/ 09 апреля 2019

Этот код состояния обычно указывает на неавторизованного пользователя.Чтобы это исправить, нам нужно, чтобы наша роль Code Build могла общаться с ECR.Для этого: Перейдите на IAM и затем прикрепите политику AmazonEC2ContainerRegistryPowerUser к своей роли CodeBuild.

0 голосов
/ 09 октября 2018

Есть ли какая-то более конкретная ошибка в вашем журнале cloudwatch?Нравится AccessDenied или что-то еще?В журнале должны быть некоторые подробности об отказавшей части команды.Спасибо, Синь

...