1. 安裝 AWS CLI 工具(使用 python3)
[root@ip-172-20-20-101 ~]# pip3 install awscli --upgrade --user
—-upgrade 表示通知 pip3 升級(jí)已安裝的任何必要組件
--user 表示通知 pip3 將程序安裝到用戶目錄到子目錄中,以避免修改您的操作系統(tǒng)所使用的庫(kù)
2. 設(shè)置 AWS PATH 路徑
在 ~/.bashrc 中添加 export PATH=“/root/.local/bin:$PATH"
3. 通過(guò)運(yùn)行 aws —version 來(lái)驗(yàn)證 AWS CLI 是否安裝正確
[root@ip-172-20-20-101 bin]# aws --version
aws-cli/1.16.172 Python/3.7.2 Linux/3.10.0-957.12.2.el7.x86_64 botocore/1.12.162
4. 使用憑證配置 AWS CLI
配置兩個(gè)文件,給 aws cli 連接 aws ecr 用,credentials 中的 aws_access_key_id & aws_secret_access_key 從
IAM > 用戶 > $userName > 安全證書(shū) > 創(chuàng)建訪問(wèn)密匙
獲取,該證書(shū)有效時(shí)間為 12h,獲取 aws_access_key_id & aws_secret_access_key 后在 ~/.aws/目錄下創(chuàng)建兩個(gè)配置文件
[root@ip-172-20-20-101 .aws]# cat ~/.aws/credentials
[default]
aws_access_key_id=AKIAU5Z******ZT74
aws_secret_access_key=8nO0rZXsAY******lV0M3LHyLtKeqXs+
[root@ip-172-20-20-101 .aws]# cat ~/.aws/config
[default]
region=cn-northwest-1
output=json
5. 獲取 docker 鏡像并標(biāo)記成 aws ecr 倉(cāng)庫(kù)標(biāo)識(shí)
[root@ip-172-20-20-101 .aws]# docker pull centos:centos7
[root@ip-172-20-20-101 .aws]# docker tag centos:centos7 xxxx.dkr.ecr.cn-northwest-1.amazonaws.com.cn/centos:7
6. 獲取 aws ecr 登陸信息并連接到 AWS ECR
# 比較安全的方式,選擇交互式
[root@ip-172-20-20-101 ~]# aws ecr get-login --no-include-email --region cn-northwest-1
docker login -u AWS -p $PASSWORD https://xxxx.dkr.ecr.cn-northwest-1.amazonaws.com.cn
[root@ip-172-20-20-101 ~]# docker login
Username: AWS
Password:$PASSROD
Login Succeeded
# 比較省事的方式,直接登陸連接
[root@ip-172-20-20-101 ~]# aws ecr get-login --no-include-email --region cn-northwest-1|sh
... ...
... ...
Login Succeeded
7. 創(chuàng)建鏡像倉(cāng)庫(kù)(沒(méi)有的話)
[root@ip-172-20-20-101 ~]# aws ecr create-repository --repository-name centos
8. push 鏡像
[root@ip-172-20-20-101 .aws]# docker push xxxx.dkr.ecr.cn-northwest-1.amazonaws.com.cn/centos:7
The push refers to repository [xxxx.dkr.ecr.cn-northwest-1.amazonaws.com.cn/centos]
d69483a6face: Pushed