top of page

AWS ECR/ECS 微服务部署

ECR:Amazon Elastic Container Registry.顾名思义就是一个容器管理中心,我们要在ECR运行微服务的时候,需要先将微服务image上传到ECR进行保存.其实我们在使用docker时候还接触过Docker Hub(Docker Hub is Docker's official cloud-based registry),其也是一种registry.

ECS:Amazon Elastic Container Service.我们将使用ECS console来配置和运行微服务,相对而言ECS更加复杂一些.主要包括但不限于,cluster,task and service.

这里我们思考一个docker image和docker container的区别的问题.



这里我们主要总结一下,Docker upload to ECR, ECS run a ECR task.

1.Docker upload to ECR:主要分为abc三步

参考:https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html


a先安装AWS CLI

参考:https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
$ unzip awscliv2.zip
$ sudo ./aws/install

b配置AWS IAM实现AWS CLI login

参照:https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html

$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json

aws ecr get-login-password --region [region] | docker login --username AWS --password-stdin [aws_account_id].dkr.ecr.[region].amazonaws.com

其中region是AWS地区编码,具体信息登录AWS账号,并点击地区即可查询


同样aws_account_id在地区的右侧,点击可查


运行命令结果




c运行命令

>docker images#罗列所有的image

>docker tag e9ae3c220b23 aws_account_id.dkr.ecr.region.amazonaws.com/my-repository:tag#Tag image,确保AWS ECR创建对应的repository

>docker push aws_account_id.dkr.ecr.region.amazonaws.com/my-repository:tag#上传image

运行如下,这里我并没有运行成功.大概是因为上次上传过一次


如果运行成功,检查我们的AWS ECR界面.这里记住URI,在ECS配置时候需要使用.


2.ECS run a ECR task

这里总结一下主要分为三步,a.创建一个ECR cluster;b.define a new task;c.ECS cluster run a task

 
 
 

Comments


bottom of page