ECR是一个私有的docker镜像存储库。docker
ECR的组件:注册表、受权令牌、存储库、存储库策略、映像。spa
注册表:每一个AWS 帐户均提供ECR的注册表,能够在注册表中建立映像的存储库,并在起中存储映像。code
受权令牌:docker客户端向ECR注册表推送和拉取映像,进行身份验证的令牌。生命周期
存储库:存储docker映像的。字符串
存储库策略:经过存储库策略来控制对存储库映像的访问。get
映像:制做容器的镜像it
1.首先建立一个ECR镜像存储库;io
aws ecr create-repository --repository-name 存储库名称
ast
2.对镜像打tag;test
docker tag 镜像名称 aws_account_id.dkr.ecr.us-east-1.amazonaws.com/存储库名称
3.获取注册表的身份验证字符串;(此命令提供的受权令牌在12小时有效)
aws ecr get-login --no-include-email
4.推送镜像到ECR;
docker push
aws_account_id
.dkr.ecr.us-east-1
.amazonaws.com/存储库
5.删除存储库;
aws ecr delete-repository --repository-name 存储库名称 --force
在控制台中ecr存储库的页面上能够看到映像的信息:
image:有关在存储库中映像的信息;
permissions: 存储库的权限策略;
Lifecycle Polic(生命周期策略):存储库的生命周期策略规则;
tags:存储库的元数据标签。
AWS CLI tag的操做:
标记现有存储库:
aws ecr tag-resource --resource-arn arn:aws:ecr:region:account_id:repository:repository_name --tags Key=stack,Value=dev
取消标记:
aws ecr untag-resource --resource-arn arn:aws:ecr:region:account_id:repository:repository_name --tag-keys tag_key
列出存储库的标签:
aws ecr list-tags-for-resource --resource-arn arn:aws:ecr:region:account_id:repository:repository_name
建立存储库而且应用标签:
aws ecr create-repository --repository-name test-repo --tags Key=team,Value=devs