技术原理

使用Amazon ECS在生产中运行Docker

成为一个合格的专业

我相信你已经听说了“码头工人炒作”在科技行业这些天。Docker使得在任何环境下运行应用程序都变得非常容易。你知道什么让Docker更有效率吗?与Amazon的ECS一起使用。本文在Amazon ECS上对Docker在使用Amazon ECS的生产环境中的使用做了详细的说明,本文的

议程是:

Docker简介Amazon ECS介绍ECS如何工作ECS的功能和好处Demo:使用Amazon ECS在生产环境中运行Docker镜像Docker简介

Docker是一个软件开发平台。它基于集装箱化的概念。它将应用程序及其所有依赖项打包到一个容器映像中。此容器可以部署在任何平台上以运行该应用程序。因此,基本上这些应用程序运行完全相同,无论它们在哪里运行或在什么系统上运行。它使用一个名为DockerHub的在线云存储库来存储所有这些容器映像。

介绍Amazon ECS

现在您已经了解了Docker,让我们来看看ECR。作为容器服务平台的一部分,AWS提供Amazon EC2容器注册(amazonerc)。它是一个完全托管的docker容器注册表。

现在你有了容器,你只需要一个平台来托管它们。这就是ECS的由来。

ECS代表弹性容器服务。这是一个集装箱管理服务。在ECS集群上运行、停止或管理Docker容器就像在公园里散步一样。你可以通过一些简单的API调用来启动、停止或扩展任何基于容器的应用程序。

我相信你们一定听说过microservices这个术语,它现在在技术市场上非常热门。Amazon ECS可以通过在microservices模型上构建复杂的应用程序架构来创建一致的部署。

ECS还可以跟踪您的实例及其资源。在上图中,有一个运行两个容器的请求。ECS将寻找有资源运行这些容器的实例,从注册表下载容器并相应地将它们部署到容器上。

ECS如何工作

既然您已经理解了理论概念,让我们深入了解一下ECS是如何工作的。以一个非常常见的场景为例,假设您正在运行一个使用两个docker容器的应用程序。例如,一个容器有实际的应用程序,另一个容器有所有的依赖项。要成功运行应用程序,需要这两种方法。

Amazon ECS包含以下内容:

任务定义

任务定义基本上是描述用于运行应用程序的docker容器的蓝图。在我们的例子中,它将是两个docker容器、使用的映像的细节、要分配的CPU内存、要声明和使用的环境变量、要公开的端口等等。

任务

任务是任务定义的一个实例。它与任务定义中提到的容器详细信息一起运行容器。根据需要,由单个类定义创建多个任务。

服务

服务定义在任何给定点从单个任务定义运行的最小和最大任务。在我们的例子中,如果有一个任务从一个任务定义运行,并且如果CPU耗尽,ECS会添加另一个任务。此时,服务将是2,因为两个任务是从一个任务定义运行的。

ECS容器实例和ECS容器代理

每个docker容器都将在一个EC2实例上运行。这样的EC2实例称为ECS容器实例,

每个ECS容器实例上都会运行一个ECS容器代理。这个代理在实例和ECS之间进行通信,这有助于管理正在运行的容器,甚至添加新的容器。

集群

我们现在有了任务定义、任务和服务。我们只需要一个平台来承载这些。那个平台就是集群。集群是一组ECS容器实例。一个集群可以运行许多服务。例如,您有多个应用程序作为项目的一部分,您可以在单个集群上运行其中的多个应用程序。这减少了资源的浪费并间接地节省了您的资金。

image2b - Amazon ECS - Edureka使用ECS的功能和好处它允许您在一个区域内的多个可用性区域中以高可用性的方式运行应用程序容器它允许您在没有基础设施管理的情况下使用容器。你可以把任何东西都打包,让ECS来管理。它是超级安全的,因为你可以把你的容器图像存储在EC2容器注册表,这是非常安全的,因为你的图像是在休息加密。ECS的另一个令人惊奇的特性是它让IAM的角色在每一个任务中都是独立的。对每个任务的控制访问都有很好的指导。演示:在生产环境中使用Amazon ECS

运行Docker镜像在这个演示中,我将向您展示如何使用Amazon ECS并在上面运行Docker镜像。我们开始吧。

如果您已经有了帐户,请转到Amazon的登录页并登录。如果你没有,那么继续创建一个免费帐户。这是您登录后将看到的控制台。

1 - Amazon ECS - Edureka

键入“ECS”并单击该服务。如果您以前没有创建集群,您将看到一个“开始”按钮。单击“开始”继续。在AWS ECS上运行docker映像的

2 - Amazon ECS - Edureka

有4个主要步骤,容器定义、任务定义、服务、群集。

3 - Amazon ECS - Edureka

配置容器定义:为容器选择映像。您有4个选项—示例应用程序映像、Nginx映像、tomcat web服务器和自定义映像。

4 - Amazon ECS - Edureka

用于此演示,我选择了示例应用程序。

5 - Amazon ECS - Edureka

如果要更改配置,请单击右上角的“编辑”。

6 - Amazon ECS - Edureka

您可以编辑容器名称、要使用的映像、内存限制、端口映射、运行状况检查配置、环境配置,容器超时配置、网络设置、存储和日志记录配置、资源限制和Docker标签。对于此演示,我使用了所有默认配置。

配置任务定义:它包括任务定义名称、网络模式、任务执行角色、功能、任务内存,和任务CPU。

7 - Amazon ECS - Edureka

您可以单击右上角的“编辑”并根据需要进行配置。对于这个演示,我使用所有默认配置。完成后,单击右下角的下一步。

1”

配置服务:可以继续更改服务名称、所需任务数、安全组并选择负载平衡器类型。在这个演示中,我没有使用负载平衡器。单击下一步。

2”

配置群集:通过添加群集名称来配置群集,然后单击下一步。

3”

检查:配置完所有内容后,应该会看到类似的内容。

11 - Amazon ECS - Edureka

检查所有内容,然后单击右下角。现在将创建所有服务。这可能需要大约10分钟。

12 - Amazon ECS - Edureka

一旦一切都处于完成状态,请单击“查看服务”

您将看到类似的内容。它将向您显示群集详细信息、任务定义以及删除和更新它的选项。

14 - Amazon ECS - Edureka

您可以查看更多详细信息,如VPC、子网、任务、事件、自动缩放、部署、度量,标记和日志。

8”

现在继续并单击“任务”检查已部署的容器。

“kdsimg”19

单击下面显示的任务名称。

17 - Amazon ECS - Edureka

单击“网络”部分下的ENI Id。

1”

您将被带到“网络接口”页,该页将如下所示:

2”

向下滚动,您将看到您的IPV4公用IP。复制它。

3”

像URL一样粘贴在任何浏览器上。你会看到docker容器的输出。您将看到您的示例应用程序。

4”

这只是一个示例应用程序。您只需几步就可以运行任何类型的应用程序或任何类型的Docker映像。

这是本文的结尾。您可以将此服务与各种DevOps工具集成,并使构建过程更容易。我希望这个博客能对你有所帮助。如果你想了解更多关于云计算的知识并在云计算领域建立一个职业生涯,请访问“Edureka博客”,

,然后看看我们的云计算课程,该课程包括讲师指导的现场培训和真实的项目体验。该培训将帮助您深入了解云计算,并帮助您掌握该主题。

有疑问吗?请在评论栏中提及或张贴在Edureka社区,我们会回复您。在Edureka社区,我们有超过100000多名技术狂热者随时准备提供帮助

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片
iot物联网技术 投稿者
我还没有学会写个人说明!
最近文章
  • * 没有更多文章了
  • 热门搜索

    分类目录