Amazon ECS 定义
Amazon ECS ( Amazon Elastic Container Service) 是一项高度可扩展的快速容器管理服务,它可轻松运行、停止和管理群集上的 Docker 容器。您可以通过使用 Fargate 启动类型启动您的服务或任务,将群集托管在由 Amazon ECS 管理的无服务器基础设施上。若要进行更多控制,您可以在使用 EC2 启动类型进行管理的 Amazon Elastic Compute Cloud (Amazon EC2) 实例群集上托管您的任务。
结构关系
环境准备
AWS CLI 安装说明见官方文档:https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/installing.html
docker :http://www.runoob.com/docker/macos-docker-install.html
ECS环境搭建基本过程
一.创建集群 (Cluster)
1.进入ecs控制台
2.创建集群
注:密钥对需提前在ec2控制台设置后在此处选择,否者无法通过ssh连接集群
二.创建任务定义
任务定义为您的应用程序指定容器信息,例如,您的任务中包含多少个容器,它们使用哪些资源,它们如何链接在一起,以及它们将使用哪些主机端口。
配置
设置容器
注:映像url相关信息在创建存储库自动生成
三.创建一个服务 Service
进入集群,选择服务菜单点击创建
配置相关信息,具体信息可阅读官方文档,实际所需进行设置,完成服务注册
配置load Balancer,如下
四.创建Container Registory(docker镜像仓库)
构建、标记和推送 Docker 映像按照,存储库自动生成文档操作即可。如下
常见问题
推送docker映像到ECS存储库,需要向你的默认注册表验证 Docker 身份,否者在执行推送命令时,会报错,具体报错如下图:
在安装并配置 AWS CLI 后,您可以向默认注册表验证 Docker CLI 身份,以便 docker 命令可以通过 Amazon ECR 推送和拉取映像。AWS CLI 提供 get-login 命令来简化身份验证过程。
使用 get-login 对 Amazon ECR 注册表验证 Docker
运行 aws ecr get-login 命令,前提本机环境以安装 AWS CLI,支持aws命令
aws ecr get-login --no-include-email
输出:
docker login -u AWS -p password https://aws_account_id.dkr.ecr.us-east-1.amazonaws.com
以上