Amazon ECR Docker Push hangs and ends in error with EOF after saying “Retrying in X seconds”



docker push 3234234234234.dkr.ecr.us-east-1.amazonaws.com/name-of-ecr-repo:latest         
The push refers to repository [3234234234234.dkr.ecr.us-east-1.amazonaws.com/name-of-ecr-repo]
84d49c7b6dcd: Retrying in 1 second 
d2cd686e0f2b: Retrying in 1 second 
11b309a0a714: Retrying in 1 second 
84c064edcba0: Retrying in 1 second 
085af9a0ade7: Retrying in 1 second 
593df8e4bac5: Waiting 
12c49c4d67f0: Waiting 
5f70bf18a086: Waiting 
cd0b79f24bf2: Waiting 
bab0e23e8c77: Waiting 
7393ae547845: Waiting 
8a907b4bbcbf: Waiting 
c8ae34277e89: Waiting 
a353f0ecb543: Waiting 
EOF



What can happen if you have multiple users, especially if you have IAM Identity Center with multiple accounts that can assume many different roles, it might get confused about the authenticated user you want to assume.



What we can do if we have IAM Identity Center set up is go right to the programmatic access section and use that key and secret key in coordination with the AWS CLI to configure an IAM role that we can assume to update ECR.



Read the docs here: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html

Configure AWS profile (the easy way)

aws configure --profile AccountID_IICPermissionSet



[Company_AccountID_PermissionSet]

aws_access_key_id=XXXXXXXX

aws_secret_access_key=XXXXXXXXXX



aws ecr get-login-password --profile AC_585477435234_PowerUserAccess --region us-east-1 | docker login --username AWS --password-stdin 585477435234.dkr.ecr.us-east-1.amazonaws.com



IAM Identity Center user credentials won’t work:

It needs to be an Access Key created under an IAM user

Needs to be a unique user key associated with a user and not with short-term credentials that expire quickly and regularly like those made by IAM Identity Center.

Previous
Previous

How to fix: You're importing a component that needs useState. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components by default.

Next
Next

How to Prevent Caching on Fetch Requests to An API (Squarespace + Vanilla JS)