当前位置: 首页 > 知识库问答 >
问题:

Docker和AMI的区别

寇夜洛
2023-03-14

在AWS方面:

AMI用于打包软件,可以部署在EC2上。Docker还可以用于打包软件,也可以部署到EC2。

两者的区别是什么?我如何选择它们?

共有3个答案

岳池暝
2023-03-14

此链接详细介绍Docker和AMI之间的差异:-https://forums.docker.com/t/how-would-you-differentiate-between-docker-vs-ec2-image/1235/2

鲜于星波
2023-03-14

尽管这并不能直接回答这个问题,但它提供了一些关于如何使用它们的背景知识。

一种方法是使用Amazon AMI(或者可以是任何AMI)启动EC2实例,然后在其上运行docker容器(具有所有依赖项)。使用这种方法,docker映像会随着时间的推移而变得臃肿,并且随着时间的推移会出现容器漂移。此外,应用程序启动和运行所需的时间更多,因为EC2必须启动,docker必须启动应用服务器。

另一种方法是“不可变的EC2实例”。使用这种方法,您可以使用Amazon AMI作为基础,并安装所有依赖项(使用shell脚本或Anable),并将它们烘焙到AMI中。我们使用Hashicorp Packer,这是一个了不起的工具。在这里,应用程序启动和运行所需的时间大大减少,因为所有的依赖项(java8、tomcat、war file等)都已经安装在AMI中。

对于生产用例,使用Packer创建AMI,并使用Terraform启动云资源来使用该AMI。把这一切都绑在詹金斯管道里。

濮书
2023-03-14

AMI是一种图像。这是一个可以启动新实例的整个机器。docker容器更加轻巧和便携。docker容器应该在提供者之间可传输,而AMI则不(容易)。

AMI基本上是VM映像。Docker容器是在隔离环境中的某些VM上运行的打包迷你映像。

 类似资料:
  • 问题内容: 两者都将能够在容器中执行命令。两者都可以分离容器。 那么docker exec和docker attach之间的真正区别是什么? 问题答案: 有一个提交PR添加到文档中: 注意: 此命令()不适用于在容器中运行新进程。请参阅:。 回答“ Docker。如何在运行的容器()中获取bash \ ssh ? ”阐明了区别: (docker> = 1.3)如果使用, 则只能使用shell的一个

  • 有人能帮我理解docker run之间的区别吗? 当我做码头运行-帮助 在新容器中运行命令。 它们在内部运行容器的方式有什么不同吗?还是两者都做同样的工作? 根据https://forums.docker.com/t/docker-run-and-docker-container-run/30526.docker运行仍然是旧的,很快就会被弃用,但还没有确认。

  • AMI ProxyServer 是一个可管理的、可靠快速的 Asterisk Manager Interface 的快速代理服务器,使用 Perl 语言编写。

  • 问题内容: 并且似乎正在与同一个dockerFile进行交互,这两个工具之间有什么区别? 问题答案: 在一个码头工人的发动机管理单个容器时,CLI使用。这是访问docker daemon api的客户端命令行。 该CLI可以用于管理多容器应用程序。它还会将您在cli 上输入的许多选项移到文件中,以方便重用。它在与所使用的同一docker api上充当前端“脚本” ,因此您可以使用命令和许多shel

  • Windows上的Docker似乎是Windows Server2016内置的功能?并支持在Docker容器内运行Windows以及使用Windows作为Docker容器宿主。这支持Linux吗?我不这么认为,我认为它只支持运行Windows Docker容器。这似乎也是微软维护的。 Docker for Windows似乎是Docker团队为将Linux Docker引入Windows而创建的一

  • 本文向大家介绍Docker Swarm和Kubernetes之间的区别,包括了Docker Swarm和Kubernetes之间的区别的使用技巧和注意事项,需要的朋友参考一下 Docker Swarm和Kubernetes都可以用于类似目的。它们都是容器编排工具。 Docker Swarm是用于群集和调度Docker容器的工具。我们可以在单个虚拟系统下轻松建立和管理Docker节点集群。 Kube