您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

VM映像和Docker映像有什么区别?

VM映像和Docker映像有什么区别?

这些是我可以列出的docker和VM映像之间的一些区别:

我们通常从基本映像开始,然后进行更改,然后使用docker提交这些更改,然后创建一个映像。该图像仅包含与基准的差异。当我们要运行图像时,我们还需要基础,它使用分层文件系统在基础之上将图像分层。文件系统将不同的层合并在一起,我们得到了所需的东西,我们只需要运行它即可。由于docker通常基于注册表中的现成映像构建,因此我们很少需要自己“快照”整个操作系统。泊坞窗将操作系统快照到公共映像中的这种能力也使部署在其他泊坞窗主机上变得容易。

虚拟机通常需要几分钟才能启动,但是容器要花费几秒钟,有时甚至不到一秒钟。

Docker映像由层组成。当我们提取或传输图像时,仅检索尚未在缓存中的图层。这意味着,如果我们使用基于同一基本操作系统的多个映像,则仅创建或检索一次基本层。VM映像没有这种灵活性。

我们可以使用docker commit命令。我们可以指定两个标志: -m-a.-m 标志允许我们指定提交消息,就像在版本控制系统上进行提交时一样:

$ sudo docker commit -m "Added json gem" -a "Kate Smith"
0b2616b0e5a8 ouruser/sinatra:v2
4f177bd27a9ff0f6dc2a830403925b5360bfe0b93d476f7fc3231110e7f71b1c

在Docker术语中,只读层称为图像。图像永不变。由于Docker使用联合文件系统,因此进程认为整个文件系统都是以读写方式安装的。但是所有更改都进入了最顶层的可写层,并且在下面,只读映像中的原始文件未更改。由于图像不变,因此图像没有状态。

假设我们有一个大小为1GB的容器映像。如果要使用完整VM,则需要1GB乘以所需数量的VM。在docker容器中,我们可以共享1GB的大部分空间;如果您有1000个容器,则假设容器OS都运行相同的OS映像,那么我们可能仍只能为容器OS提供超过1GB的空间。

Docker映像:

bare. The image does not have a container or Metadata envelope.ovf. The OVF container format.aki. An Amazon kernel image.ari. An Amazon ramdisk image. *ami. An Amazon machine image.

VMimages:

其他 2022/1/1 18:15:46 有378人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶