aws ECR 도커 이미지 레지스트리

Pulling from ECR

ECR Credential Helper 를 사용하는 방법과 Authorization Token을 사용하여 직접 docker login을 하는 방법이 있다.
도커 로그인을 하는 방법은 다음과 같은 단점이 있다:

  1. 토큰의 유효기간이 1시간으로 제한되기 때문에 자주 갱신해야 한다.
  2. 이를 자동화하려면 별도의 스크립트CI/CD 설정이 필요하다.

반면, Credential Helper는 다음의 이점이 있다:

하지만, Credential Helper는 다음과 같은 주의점이 있다:

유스케이스로 살펴보자:

예시:

# Authorization Token 방식 (수동 로그인)
aws ecr get-login-password --region <region> | docker login --username AWS --password-stdin <account_id>.dkr.ecr.<region>.amazonaws.com
# Credential Helper 설정
cat <<EOF >> ~/.docker/config.json
{
  "credHelpers": {
    "<account_id>.dkr.ecr.<region>.amazonaws.com": "ecr-login"
  }
}
EOF

Pushing to ECR

Steps for Pushing

  1. Authenticate to ECR:

    • Credential Helper 또는 Authorization Token을 사용하여 인증.
  2. Tag the Docker Image:

    docker tag <image>:<tag> <account_id>.dkr.ecr.<region>.amazonaws.com/<repository_name>:<tag>
    
  3. Push the Docker Image:

    docker push <account_id>.dkr.ecr.<region>.amazonaws.com/<repository_name>:<tag>
    

Best Practices