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。
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>