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