ECR是一个私有的docker镜像存储库。

ECR的组件:注册表、授权令牌、存储库、存储库策略、映像。

注册表:每个AWS 账户均提供ECR的注册表,可以在注册表中创建映像的存储库,并在起中存储映像。

授权令牌:docker客户端向ECR注册表推送和拉取映像,进行身份验证的令牌。

存储库:存储docker映像的。

存储库策略:通过存储库策略来控制对存储库映像的访问。

映像:制作容器的镜像

如何将镜像推送到ECR仓库:

1.首先创建一个ECR镜像存储库;

aws ecr create-repository --repository-name 存储库名称

2.对镜像打tag;

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

在AWS 控制台上显示的是压缩后的镜像的大小,而使用docker   images  看到的镜像是未压缩的。

在控制台中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

05-03 09:08