在 Amazon ECS 上部署 Docker 容器

具体操作指南

概述

Amazon Elastic Container Service (Amazon ECS) 是一种用于在可扩缩集群上运行 Docker 应用程序的 AWS 服务。在本具体操作指南中,您将学习如何如何在经过负载均衡的 Amazon ECS 集群上运行支持 Docker 的示例应用程序并进行测试,以及如何删除这些资源以免产生费用。本指南使用 AWS Fargate,在采用 0.25 vCPU/0.5 GB 配置时,每小时费用约为 0.004 美元(不到半美分)。

 AWS 使用经验

新手

 完成时间

10 分钟

 所需费用

费用因区域而异,运行容器产生的费用约为 0.004 美元/小时

 前提条件

  • AWS 账户
  • 推荐浏览器:最新版本的 Chrome 或 Firefox

[**]在过去 24 小时内新创建的账户可能无法使用本指南所需的服务。

 上次更新时间

2022 年 8 月 11 日

步骤 1:设置 Amazon ECS 首次运行

Amazon ECS 首次运行向导将引导您创建集群并启动示例 Web 应用程序。在此步骤中,您将进入 Amazon ECS 控制台并启动该向导。  


a. 要启动 Amazon ECS 首次运行向导,请点击 Get started(开始使用)按钮。(如果您的布局看起来不一样,请点击控制台左上角的 New ECS Experience(体验新版 ECS)按钮来切换布局)。  


步骤 2:创建容器和任务定义

任务定义类似于应用程序的蓝图。在此步骤中,您将创建一个任务定义,以便 Amazon ECS 明确需要使用的 Docker 镜像、容器的数量,以及每个容器的资源分配。


a. 在 Container definition(容器定义)字段中,选择 sample-app


b. 任务定义预加载了默认配置值。

查看默认值,然后点击 Next(下一步)。

如果希望修改配置或要了解更多信息,请参阅任务定义参数

步骤 3:定义服务

创建了任务定义后,您需要对 Amazon ECS 服务进行配置。该服务将在集群中启动并保持任务定义副本的运行。例如,当您以服务的形式运行应用程序时,Amazon ECS 会自动恢复已停止的任务,并确保副本数量符合您的设置。


a. 服务选项预加载了默认配置值。

  • Service name(服务名称):默认值 sample-app-service 是 AWS 提供的基于 Web 的“Hello World”应用程序。目的在于无限期运行;由于它作为一项服务运行,如果任务不正常或意外停止,服务将会自动重启。
  • Number of desired tasks(所需任务数):保留默认值 1。这将创建 1 个任务副本。

b. Load balancing(负载均衡):您您可以选择在服务中使用负载均衡器。Amazon ECS 可以创建弹性负载均衡 (ELB) 负载均衡器,以便在启动任务的容器实例之间分配流量。

选择 Application Load Balancer(应用程序负载均衡器)选项。

示例应用程序的 Load balancer listener port(负载均衡器侦听器端口)和 Load balancer listener protocol(负载均衡器侦听器协议)已设置为默认值。有关负载均衡配置的更多信息,请参阅服务负载均衡

查看设置,然后点击 Next(下一步)。


步骤 4:配置集群

Amazon ECS 任务在集群上运行,该集群使用 AWS Fargate 提供计算引擎,因此您无需管理服务器。在此步骤中,您将配置集群。


a. 在 Cluster name(集群名称)字段中,输入 sample-cluster,然后点击 Next(下一步)。


步骤 5:启动并查看资源

在前面的步骤中,您配置了任务定义(类似于应用程序蓝图)、Amazon ECS 服务(启动并维护任务定义的副本)和集群。在此步骤中,您将检查、启动和查看所创建的资源。


a. 在启动之前,您有最后一次机会检查任务定义、任务配置和集群配置。点击 Create(创建)。  


b. 您将进入 Launch Status(启动状态)页面,其中显示了启动状态并描述了该过程的每个步骤。启动完成后,点击 View service(查看服务)。

步骤 6:打开示例应用程序

在此步骤中,通过将浏览器指向负载均衡器 DNS 名称来验证示例应用程序是否已启动并正在运行。


a. 在 sample-app-service 页面上,点击 Details(详细信息)选项卡,然后点击 Target Group Name(目标组名称)下的条目。


b. 在 Target groups(目标组)页面上,点击目标组名称。


c. 在 Details(详细信息)部分中,点击 Load balancer(负载均衡器)链接。


d. 在 Description(描述)选项卡中,点击负载均衡器 DNS 旁边的两页图标,以将 DNS 名称复制到剪贴板。


e. 将其粘贴到浏览器地址栏中,然后按 Enter 键查看示例应用程序(在本例中是一个静态网页)。

步骤 7:清除

在本指南中,您启动了三个资源:Amazon ECS 集群、用于运行容器的 AWS Fargate 和负载均衡器。在此步骤中,您将清除所有资源以免产生不必要的费用。


a. 返回 Amazon ECS 控制台页面,然后点击集群名称 (sample-cluster)。


b. 点击 Delete Cluster(删除集群)以删除该集群。


c. 在对话框中输入 delete me,然后点击 Delete(删除)。


d. 您现在将看到删除所有所创建资源的进度。


e. 删除所有资源后,您将看到 Deleted cluster sample-cluster successfully(已成功删除集群 sample-cluster)的绿色提示。现在,您已经完成了本指南。

恭喜您

恭喜您!您已经学会了如何配置启用 Docker 的应用程序并将其部署到 Amazon ECS 以及如何删除不再需要的资源。Amazon ECS 是一种高度可扩展、高性能的容器管理服务,支持 Docker 容器,使您能够在 Amazon EC2 实例的托管集群上轻松运行应用程序。

后续步骤

创建容器镜像

了解如何创建用于 Amazon ECS 的容器镜像。
下一步 »

融入 AWS 社区

立足社区学习,参加我们的 AWS 开发者活动,结识社区中的良师益友。
下一步 »

查找满足您 AWS 需求的实践教程

按照分步教程快速入手,轻松发布您的第一个应用程序。
下一步 »