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