1. 安装 AWS CLI 工具(使用 python3)
[root@ip-172-20-20-101 ~]# pip3 install awscli --upgrade --user
—-upgrade 表示通知 pip3 升级已安装的任何必要组件
--user 表示通知 pip3 将程序安装到用户目录到子目录中,以避免修改您的操作系统所使用的库
2. 设置 AWS PATH 路径
在 ~/.bashrc 中添加 export PATH=“/root/.local/bin:$PATH"
3. 通过运行 aws —version 来验证 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
配置两个文件,给 aws cli 连接 aws ecr 用,credentials 中的 aws_access_key_id & aws_secret_access_key 从
IAM > 用户 > $userName > 安全证书 > 创建访问密匙
获取,该证书有效时间为 12h,获取 aws_access_key_id & aws_secret_access_key 后在 ~/.aws/目录下创建两个配置文件
[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 镜像并标记成 aws ecr 仓库标识
[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. 创建镜像仓库(没有的话)
[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