我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何利用AWS的EC2技术部署服务器的Docker容器

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何利用AWS的EC2技术部署服务器的Docker容器

这篇文章主要介绍“如何利用AWS的EC2技术部署服务器的Docker容器 ”,在日常操作中,相信很多人在如何利用AWS的EC2技术部署服务器的Docker容器 问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何利用AWS的EC2技术部署服务器的Docker容器 ”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

部署第一个容器

当用户第一次使用终端访问ECS服务时,会看到一个简单的向导。尽管手动的去配置ECS也不是多么繁重的事情,但是第一次的话,使用该向导还是值得尝试的,它能够为你配置好所有-你的EC2服务器,一个合适的安全组,以及一个自动伸缩组,正确的AMI(此AMI内置了ECS代理),等等。这是启动和运行,并获得ECS经验的最快方法。
如何利用AWS的EC2技术部署服务器的Docker容器

步骤1 定义任务

首先,作为向导的一部分,我们需要定义任务。这个演示的目的,我们将使用免费的NGINX的Docker镜像。(NGINX是一款开源的web服务软件,已经被社区容器化了,并上传到了官方hub。)

以为容器指定一个名称开始,例如本示例为nginx-task。
如何利用AWS的EC2技术部署服务器的Docker容器

接下来,点击添加容器定义,即定义nginx容器。 这里主要需提醒的是镜像的名称,务必和Docker hub(ngnix)上公开的镜像名称一致。当然,也可以指定专有镜像。

内存字段是内存的最大值,以兆字节计算,这是用于分配给运行中的容器的。CPU单元是一个抽象的数字,每个CPU核心有1024个单元,此数字即是要赋予的单元数。

此信息用处非常的大,因为它增加了一定程度的灵活性以及智能的容器调度。ECS将监视那些实例拥有空闲资源,然后智能的分配容器,从而达到实现有效的利用服务器资源的目的。
如何利用AWS的EC2技术部署服务器的Docker容器

步骤2 定义服务

第二步,我们需要定义服务,即描述为此任务要在集群中运行多少个实例。

选择创建服务的单选框,为服务命名,本例为nginx-service,然后设置要运行的任务数,本例为3。这就意味着此服务一旦运行起来,就会创建3个任务,每个任务就是一个独立的实例,每个实例中都运行着nginx容器。

至于更加复杂的配置,你可选择Elastic Load Balancer (ELB),然后在它们被实例化后动态的将服务注册到ELB,并实现集群化。这些在后面有详细的描述。
如何利用AWS的EC2技术部署服务器的Docker容器

步骤3 创建ECS集群

我们需要创建EC2服务器的集群,这些服务器是用来运行容器的。此演示环境使用3个t2.micro实例即可实现预料的效果。这也就意味着1个任务和1个容器将分布到这3台服务器的每一个上。我们当然也可以实现在集群中使用实例多于任务的配置,或者使用这些服务器来运行不同的任务,但是目前还未能实现在同一台服务器中运行给定任务的多个实例。

选择你首要的密钥对,然后点击后面的按钮以创建IAM角色,IAM角色非常重要,有了它,集群中的主机就可访问中央ECS服务了。
如何利用AWS的EC2技术部署服务器的Docker容器

步骤4 创建栈

向导的最后一步是展示汇总任务、服务、和集群的配置。

页面如下所示会展示所生成的JSON代码,这些代码同样可以用于命令行,如果有人习惯于使用命令行的话,或者是打算自动创建它们的集群的话。
如何利用AWS的EC2技术部署服务器的Docker容器

在创建过程中,你会看到使用Cloud Formation来构建栈。构建栈可能要花上2到3分钟的时间。
如何利用AWS的EC2技术部署服务器的Docker容器

步骤5 回顾栈和NGINX服务

现在若是访问EC2的面板,我们可以看到已经创建好的服务器,且是处于运行状态的。向导已经帮助我们创建了跨可用区域的主机以演示弹性的好处。
如何利用AWS的EC2技术部署服务器的Docker容器

然后回到ECS面板,就可以检查服务了,当然我们希望看到的是它处于准备好的状态,且拥有3个任务。

记住,在创建实例的过程要花费几分钟的时间,从hub拉下容器镜像启动也要花费几分钟的时间,以及服务达到可用状态也会花费一些时间,所以,不用担心这整个过程会稍有些慢。
如何利用AWS的EC2技术部署服务器的Docker容器

深入服务中某个任务的细节,我们会看到任务处于RUNNING(运行)状态。
如何利用AWS的EC2技术部署服务器的Docker容器

展开nginx-container。在外部链接下方,我们可以看到一个HTTP链接,指向任务内的容器。

点击此链接,我们可以看到的是Nginx容器所提供的web欢迎页面。
如何利用AWS的EC2技术部署服务器的Docker容器

此时,我们完成了将NGINX容器部署到ECS的步骤,而且可通过web浏览器访问NGINX服务。现在你可以考虑整理下思路和对概念的验证了。

后续步骤

在建立了一个简单的容器之后,我们接下来为了将应用部署到生产环境,需要做一些更加高级的配置。

ELB负载均衡

在上述的例子中,我们使用浏览器直接链接到三个容器中的一个,实现对NGINX的访问。这不能够做到健壮性,理论上当容器宕机,或者是重新启动到不同的服务器上,那么原来指定的静态IP地址就不在有效了。

我们可以将服务注册到EC2 Elastic Load Blance(ELB)以实现动态的地址。作为底层的任务不管如何的启动、停止以及在EC2实例池中如何的移动,ELB都可以通过服务保持最新,能够将相应的流量路由到正确的地址。

要配置负载均衡,我们首先需要在EC2的面板中创建一个ELB。然后重新创建服务,在服务创建的过程中将ELB添加进来,如下面截图所示:
如何利用AWS的EC2技术部署服务器的Docker容器

自动伸缩

ECS也可以整合EC2 autoscaling,而且也是在面临增加的负载时扩充集群的首选方法。

Autoscaling的工作要依赖于对诸如CPU,内存和IO的计量监控的,而且添加节点或删除节点是在打破一定的条件时候进行的。

实例化后的新的节点会自动注册到ECS集群中,然后才有资格成为未来部署容器的实例。

这很实用,但是目前ECS还没有实现扩充任务数量或者是增长容器集群的Hook。但我们仍然能在新的容器启动后加入到新的规模的集群中受益,我们可以通过GUI或API来引入新的容器到集群,并能在更大规模的集群中分发负载。

容器链接

当在任务中定义容器时,是可以使用Docker原生的容器链接来实现它们之间彼此的互连互通。

这样就不在需要静态的端口映射或者是多容器环境中的服务发现了,让部署分布式的微服务更加的轻松。

AWS 命令行工具

虽然上面的演练是基于UI控制台,但ECS完全整合到了AWS命令行中 。

故障排查

若发生了问题,你可以通过SSH直接访问集群的节点,以进行调试。

为了能够使用SSH登陆到节点,你需要在安全组中打开22端口,因为通过向导所创建的节点默认不会打开此端口。

登陆到服务器节点后,你就可以查看ECS代理的日志文件:/var/log/ecs了。

你也可以运行标准的Docker命令,例如,docker images 和 docker ps ,来参看服务器上的镜像和容器的状态。

到此,关于“如何利用AWS的EC2技术部署服务器的Docker容器 ”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何利用AWS的EC2技术部署服务器的Docker容器

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何利用AWS的EC2技术部署服务器的Docker容器

这篇文章主要介绍“如何利用AWS的EC2技术部署服务器的Docker容器 ”,在日常操作中,相信很多人在如何利用AWS的EC2技术部署服务器的Docker容器 问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如
2023-06-10

如何理解AWS所提供的针对Docker的EC2容器服务

这篇文章主要介绍“如何理解AWS所提供的针对Docker的EC2容器服务”,在日常操作中,相信很多人在如何理解AWS所提供的针对Docker的EC2容器服务问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理
2023-06-10

如何使用Docker Compose快速部署多容器服务

小编给大家分享一下如何使用Docker Compose快速部署多容器服务,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1 什么是Docker Compose前面我们使用 Docker 的时候,定义 Dockerfile 文
2023-06-29

Docker容器化部署Nginx的详细步骤与最佳实践(如何在Docker中高效部署Nginx服务?)

本文提供了详细步骤和最佳实践,指导如何将Nginx部署为Docker容器。步骤包括创建镜像、运行容器、配置Nginx以及管理容器。最佳实践建议使用最新版本、自定义配置、启用日志记录、使用反向代理以及监控容器。此外,本文还强调了安全容器的重要性,并建议定期备份和更新。
Docker容器化部署Nginx的详细步骤与最佳实践(如何在Docker中高效部署Nginx服务?)
2024-04-02

使用容器化技术部署 PHP 应用的优点有哪些?

使用容器化技术部署 php 应用程序的优点包括:隔离和资源限制:为应用程序提供隔离环境,防止相互影响并设置资源限制。可移植性:docker 映像包含应用程序及其依赖项,可轻松在不同环境间部署。可扩展性:按需创建和销毁容器,根据需求动态扩展或
使用容器化技术部署 PHP 应用的优点有哪些?
2024-05-06

Docker容器化Nginx的自动化构建与部署(如何实现Nginx在Docker中的自动化构建与部署?)

本文介绍了使用Docker自动化Nginx构建和部署的详细步骤。通过创建Dockerfile、使用DockerCompose定义服务、运行持续集成和部署(CI/CD)管道,可以实现Nginx在Docker容器中的自动化构建和部署。该方法提供了自动化、一致性、可移植性和可扩展性,从而简化应用程序开发和部署,提高效率和可靠性。
Docker容器化Nginx的自动化构建与部署(如何实现Nginx在Docker中的自动化构建与部署?)
2024-04-02

使用Docker部署Dashdot服务器仪表盘的步骤

Dashdot是一款简单、实用的开源服务器仪表盘,设计时考虑到了玻璃形态,它旨在用于较小的VPS和私人服务器,这篇文章主要介绍了使用Docker部署Dashdot服务器仪表盘,需要的朋友可以参考下
2022-12-21

网络操作系统中的容器技术:轻量级应用部署的新天地

: 容器技术在网络操作系统中扮演着关键角色,通过隔离和打包应用程序,实现轻量级部署和可移植性。本文将深入探讨容器技术的优势,展示如何使用流行的容器引擎如 Docker 和 Kubernetes 部署应用程序。
网络操作系统中的容器技术:轻量级应用部署的新天地
2024-03-05

云端部署与容器化技术对 PHP 应用性能的影响是什么?

云端部署和容器化技术对 php 应用性能的影响云端部署:提升可伸缩性、可靠性和成本效益,但可能增加延迟和安全风险。容器化技术:提供隔离性、可移植性和轻松部署,但需考虑资源消耗和管理复杂性。实战案例:电子商务公司部署 php 应用程序后,吞吐
云端部署与容器化技术对 PHP 应用性能的影响是什么?
2024-05-07

云服务器如何部署项目管理器的

选择合适的服务器硬件在部署云服务器之前,需要先选择一款适合自己业务的服务器硬件。云服务器的硬件种类繁多,有低配版、高配版、固定硬盘、移动硬盘等。在选择硬件时,需要根据自己的需求和预算来进行选择。配置服务器架构云服务器的架构非常重要,它决定了服务器的性能和稳定性。通常,云服务器的架构包括服务器硬件、云管理平台、负载均衡器
云服务器如何部署项目管理器的
2023-10-28

编程热搜

目录