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

这个问题在这里已经有了答案:

  • Docker与普通虚拟机有何不同? 15个答案

  • 这些是我可以列出的Docker和VM映像之间的一些差异:

    1. Docker中的快照流程比VM更快

    我们通常从基础映像开始,然后进行更改,并使用docker提交这些更改,并创建映像。 此图像仅包含与底座的差异。 当我们想要运行我们的图像时,我们也需要基础,并且使用分层文件系统将我们的图像置于基础之上。 文件系统将不同的层合并在一起,我们得到我们想要的,我们只需要运行它。 由于docker通常建立在来自注册表的现成图像的基础上,因此我们很少必须自己“快照”整个操作系统。 Dockers将操作系统快照到一个通用映像的能力也使得部署在其他Docker主机上更容易。

    2.对于Docker,启动时间比虚拟机少

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

    4. Docker镜像具有更多的可移植性

    Docker镜像由图层组成。 当我们拉取或传输图像时,只检索我们尚未进入缓存的图层。 这意味着如果我们使用基于相同基本操作系统的多个图像,则只会创建或检索基础图层一次。 虚拟机映像没有这种灵活性。

    5. Docker提供图像版本

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

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

    6. Docker镜像没有状态

    在Docker术语中,只读图层称为图像。 图像永远不会改变。 由于Docker使用Union File System,因此这些进程认为整个文件系统都是可读写的。 但所有更改都会转到最上面的可写入层,并且在下面,只读图像中的原始文件保持不变。 由于图像不会改变,因此图像没有状态。

    7.虚拟机是以硬件为中心的,码头容器是以应用程序为中心的

    假设我们有一个容量为1GB的图像。 如果我们想要使用一个完整的虚拟机,我们需要有1GB的x个虚拟机数量。 在docker容器中,我们可以共享1GB的大部分内容,如果您有1000个容器,假设它们都运行相同的操作系统映像,那么容器操作系统的容量可能只有1GB多一点。

    8.支持的图像格式

    Docker镜像:

  • 裸。 该图像没有容器或元数据信封。
  • OVF。 OVF容器格式。
  • AKI。 亚马逊内核映像。
  • ARI。 亚马逊虚拟磁盘映像。
  • 急性心肌梗死。 亚马逊机器镜像。
  • VM图像:

  • 生的。 非结构化磁盘映像格式; 如果你有一个没有扩展名的文件,它可能是一个原始格式
  • VHD。 VHD磁盘格式,这是VMware,Xen,Microsoft,VirtualBox等虚拟机监视器使用的常见磁盘格式
  • VMDK。 通用磁盘格式支持许多常见的虚拟机监视器
  • VDI。 由VirtualBox虚拟机监视器和QEMU模拟器支持
  • 异。 光盘数据内容的归档格式,如CD-ROM。
  • qcow2。 由QEMU模拟器支持,可以动态扩展并支持Copy on Write
  • AKI。 亚马逊内核映像。
  • ARI。 亚马逊虚拟磁盘映像。
  • 急性心肌梗死。 亚马逊机器镜像。
  • 链接地址: http://www.djcxy.com/p/18193.html

    上一篇: What are the differences between a VM image and a Docker image?

    下一篇: What is the difference between running software in a Docker container Vs Real OS