使用 ECS 部署 docker 容器映像

在将 ECS 实例添加到群集之前,必须首先转到 EC2 管理控制台并创建具有附加了 AmazonEC2ContainerServiceforEC2Role 策略的 IAM 角色的 ecs-optimized 实例。

  1. 转到 EC2 仪表板 ,然后单击 Launch Instance 按钮。
  2. Community AMIs 下,搜索 ecs-optimized,并选择最适合你项目需求的那个。任何会工作。点击下一步。
  3. 当你到达 Configure Instance Details 时,点击 create new IAM role link 并创建一个名为 ecsInstanceRole 的新角色。
  4. AmazonEC2ContainerServiceforEC2Role 策略附加到该角色。
  5. 默认情况下,容器实例将启动到 default 群集中。如果要启动到自己的群集而不是默认群集,请选择 Advanced Details 列表并将以下脚本粘贴到 User data 字段中,将 your_cluster_name 替换为群集名称。
#!/bin/bash
echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
  1. 然后,完成配置 ECS 实例。

注意:如果你要创建 Web 服务器,则需要创建 securityGroup 以允许访问端口 80。

  1. 创建存储库:aws ecr create-repository --repository-name example-repository
  2. 验证你的 Docker 客户端到你的注册表:aws ecr get-login --region us-east-1 | sh
  3. 构建你的 Docker 镜像:docker build -t example-image .
  4. 标记你的图像,以便你可以将图像推送到此存储库:docker tag example-image:latest example-namespace/example-image:latest
  5. 将此图像推送到新创建的 AWS 存储库:docker push example-namespace/example-image:latest
  6. 注册 ECS 任务定义:aws ecs register-task-definition --cli-input-json example-task.json
  7. 运行任务:aws ecs run-task --task-definition example-task