使用 ECS 部署 docker 容器映像
在将 ECS 实例添加到群集之前,必须首先转到 EC2 管理控制台并创建具有附加了 AmazonEC2ContainerServiceforEC2Role
策略的 IAM 角色的 ecs-optimized
实例。
- 转到 EC2 仪表板 ,然后单击
Launch Instance
按钮。 - 在
Community AMIs
下,搜索ecs-optimized
,并选择最适合你项目需求的那个。任何会工作。点击下一步。 - 当你到达
Configure Instance Details
时,点击create new IAM role link
并创建一个名为ecsInstanceRole
的新角色。 - 将
AmazonEC2ContainerServiceforEC2Role
策略附加到该角色。 - 默认情况下,容器实例将启动到
default
群集中。如果要启动到自己的群集而不是默认群集,请选择Advanced Details
列表并将以下脚本粘贴到User data
字段中,将your_cluster_name
替换为群集名称。
#!/bin/bash
echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
- 然后,完成配置 ECS 实例。
注意:如果你要创建 Web 服务器,则需要创建 securityGroup
以允许访问端口 80。
- 创建存储库:
aws ecr create-repository --repository-name example-repository
- 验证你的 Docker 客户端到你的注册表:
aws ecr get-login --region us-east-1 | sh
- 构建你的 Docker 镜像:
docker build -t example-image .
- 标记你的图像,以便你可以将图像推送到此存储库:
docker tag example-image:latest example-namespace/example-image:latest
- 将此图像推送到新创建的 AWS 存储库:
docker push example-namespace/example-image:latest
- 注册 ECS 任务定义:
aws ecs register-task-definition --cli-input-json example-task.json
- 运行任务:
aws ecs run-task --task-definition example-task