使用 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