AWS Public Repository Push Image issue

1.1k Views Asked by At

I have created one ECR repository as public. Now, from my on-premises docker server, I build the image and I wanted to push the image in AWS ECR as public image. AWS has given option view push option but It did not work, getting below error while running the below command.

 **docker login -u AWS -p $(aws ecr get-login-password --region ap-northeast-2) 
 public.ecr.aws/m8r0s3o9**              
 WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: login attempt to https://public.ecr.aws/v2/ failed with status: 400 Bad Request

For private repository it works fine for me.

Any suggestion would be highly appreciable, do i need to add any role/policy to my aws user?

1

There are 1 best solutions below

0
On

Thanks for your feedback guidance.

I found the issue, I was referring "view push command instructions" where respective region show in the command.

But for public repository need to run below command always.

aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/<your repo name>

so in short, When authenticating to a public registry, always authenticate to the us-east-1 Region when using the AWS CLI.

It resolved my issue and i was able to push the docker images in ECR. Rest command are same.