AWS EC2 instance vs Docker?



AWS EC2实例和docker容器实例之间有什么区别?我什么时候应该用一个而不是另一个?

当您获得EC2实例时,它将提供该特定操作系统的基本安装,并安装一些额外的AWS包,如SSM代理。

然后是为特定用例(如SQL Server(准备的AMI,或者在这种情况下,使用安装了用例软件的AWS编排服务(ECS或EKS(进行预配置。

如果你不熟悉Docker,我建议你先在本地环境中运行它,这样你就可以熟悉它了。是的,人们一直在转向容器和无服务器,但你需要确保你能够在生产中支持它。

随着容器的部署,您需要了解您正在使用的编排层。很容易将容器视为虚拟化层的替代品,但它们的操作方式有很多不同。

看看Docker是什么?第页了解更多解释。

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使您可以轻松地将应用程序移动到不同的机器:localhost到EC2,我的计算机到同事,或者AWS到Azure。

EC2和Docker容器都可以在计算环境中运行应用程序,但它们的用途不同,具有不同的特性。

EC2:EC2为虚拟机提供了自己的操作系统。提供实例之间的强隔离。通常需要更多的CPU/RAM,并且非常适合单体架构。通过修补和访问控制进行更多维护。更贵。操作系统更新可能会干扰某些应用程序。支持持久数据(EBS卷中(

Docker:在VM或AWS中运行提供无服务器选项(Fargate(。更少的维护,特别是远门。专用ram/cpu。轻量级和便携性,因为运行在相同的docker映像上。在AWS环境中易于(自动(扩展。不支持持久数据(当fargate停止时,连接的卷将丢失,但是,数据可以保存在S3中,或者docker也可以在EC2中运行(

两者都被大量使用,这实际上取决于您的用例。

最新更新