AWS EC2实例与Docker有何区别?

6

AWS EC2实例和Docker容器实例有什么区别?在何时应该选择其中之一?


与虚拟机相比,Docker有何不同?的答案涵盖了很多这方面的内容;在EC2的情况下,亚马逊托管虚拟机。 - David Maze
3个回答

4
当您获得一个EC2实例时,它将提供特定操作系统的基本安装,并安装一些其他的AWS软件包,例如SSM Agent。
然后有为特定用例准备的AMI,例如SQL Server,或者在这种情况下预配置了AWS编排服务(ECSEKS),并安装了用例软件。
如果您不熟悉Docker,建议先在本地环境中运行它,以便您熟悉它。是的,人们一直在向容器和无服务器迁移,但需要确保您能够在生产环境中支持此功能。
部署容器时,您需要了解正在使用的编排层。很容易将容器视为虚拟化层的替代方案,但是它们的操作方式有很多不同之处。
请查看什么是Docker?页面以获取更多解释。

0

AMI是一个预配置的模板,用于启动EC2实例。EC2代表弹性容器服务。需要澄清的是,EC2为容器提供服务,但本身并不是一个容器。EC2是一个预配置的虚拟机或云服务器,可以运行像Docker这样的容器。

基本上,你都可以使用。

你可以使用AMI来启动你的EC2实例,然后构建你的Docker镜像来运行你的应用程序。你可以在同一个EC2实例上拥有多个Docker镜像和容器。EC2将具有一个操作系统,如Linux、Ubuntu、Redhat等。Docker将使用EC2上的任何操作系统和内核,并为每个应用程序创建一个隔离的环境,类似于一个软件包。

在Docker Hub上也有一种控制版本的方式。类似于Github,你可以更新你的Docker构建并从本地机器推送到Hub,然后通过SSH登录到你的EC2实例并拉取最新的Docker构建。

Docker使得将应用程序移动到不同的机器变得容易:从本地主机到EC2,从我的计算机到同事的计算机,或者从AWS到Azure。


0
EC2和Docker容器都可以在计算环境中运行应用程序,但它们有不同的目的和特点。
EC2:EC2提供了一个带有自己操作系统的虚拟机。它在实例之间提供了强大的隔离性。通常需要更多的CPU/RAM,并且非常适合单体架构。需要更多的维护工作,如补丁更新、访问控制。价格较高。操作系统更新可能会干扰某些应用程序。支持持久数据(存储在EBS卷中)。
Docker:可以在虚拟机中运行,或者AWS提供无服务器选项(Fargate)。使用Fargate时,维护工作较少。专用的内存/CPU。由于运行在相同的Docker镜像上,所以轻量且便携。在AWS环境中容易(自动)进行扩展。不支持持久数据(附加的卷在停止Fargate时会丢失,但数据可以保存在S3中,也可以在EC2上运行Docker)。
这两者都被广泛使用,真正取决于您的使用情况。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接