Skip to main content

Operation for Amazon ECR Registry

PREFACE

AWS ECR (Elastic Container Registry)

AWS 用來提供存放 Docker Image 的服務,可以依照需求建立 Public Repository (Docker Hub) 或是 Private Repository (透過 IAM 進行安全控管)。

能與 Elastic Container Service(ECS)和 Elastic Kubernetes Service(EKS)整合,ECS 跟 EKS 簡單的存取 ECR 內的 Image。

ECR Repository

Authorization

進行以下操作前,都需要先安裝並配置好 AWS CLI,並確保有對 ECR 操作的權限:

aws configure

Receive ECR Credential

aws ecr get-login-password --region <your-region>

Login Docker

docker login --username AWS --password-stdin <aws-account-id>.dkr.ecr.<your-region>.amazonaws.com

Pull Image

將 AWS ECR 內的 Image 拉下來本地:

docker pull <aws-account-id>.dkr.ecr.<your-region>.amazonaws.com/<your-repository-name>:<tag>

Push Image

將本地的 Image 推上去 AWS ECR:

Tag

  • Repository 名稱要跟為 Image 創建的 Respository 名稱相同
  • Tag 可以省略,預設為 latest
docker tag <local-image>:<tag> <aws-account-id>.dkr.ecr.<your-region>.amazonaws.com/<your-repository-name>:<tag>

Push

docker push <aws-account-id>.dkr.ecr.<your-region>.amazonaws.com/<your-repository-name>:<tag>

Operation

List Repositories

aws ecr describe-repositories

List Tags In Image

aws ecr list-images --repository-name <repository-name> --region <your-region>

Get Images In Repositories

aws ecr describe-repositories --repository-name <repository-name>