虚拟机镜像和Docker镜像有什么区别?

26

Docker镜像和虚拟机的镜像有什么区别吗? 除了镜像格式外,我无法在任何地方找到有关此事的信息。 请回答关于镜像大小、实例创建时间、捕获时间等方面的问题。 谢谢!


1
一个Docker LXC容器是一个正在运行的应用程序还是存在于内存中的东西? - user2915097
1个回答

46
这些是我列出的docker和VM镜像之间的一些区别:
1. 在Docker中,快照过程比VM更快。 2. Docker的启动时间比VM少几分钟甚至不到一秒钟。 3. VM镜像没有Docker镜像的可移植性。 4. Docker提供镜像版本控制。 请注意保留原有HTML标签,不要改变内容或做解释。
$ sudo docker commit -m "Added json gem" -a "Kate Smith"
0b2616b0e5a8 ouruser/sinatra:v2
4f177bd27a9ff0f6dc2a830403925b5360bfe0b93d476f7fc3231110e7f71b1c

6. Docker镜像没有状态

在Docker术语中,一个只读的Layer被称为镜像。镜像永远不会改变。由于Docker使用联合文件系统,进程认为整个文件系统已经以读写方式挂载。但是所有的更改都会被放在最上层的可写层中,在底部,只读镜像中的原始文件是不变的。由于镜像不会改变,所以镜像没有状态。

7. 虚拟机是硬件中心,而Docker容器是应用程序中心

假设我们有一个1GB大小的容器映像。如果我们想要使用完整的虚拟机,我们需要具备 1GB * x(所需的VM数量) 的存储空间。在Docker容器中,我们可以共享大部分这1GB的内容,即使你有1000个容器,它们仍然可能只占用略大于1GB的空间来运行相同的操作系统映像。

8. 支持的镜像格式

Docker镜像:

  • bare. 镜像没有容器或元数据封装。
  • ovf. OVF容器格式。
  • aki. Amazon内核映像。
  • ari. Amazon RAM磁盘映像。
  • ami. Amazon机器映像。

虚拟机镜像:

  • raw. 一种无结构的磁盘映像格式。如果您有一个没有扩展名的文件,它可能是原始格式。
  • vhd. VHD磁盘格式,这是VMware、Xen、Microsoft、VirtualBox等虚拟机监视器常用的磁盘格式。
  • vmdk. 许多常见虚拟机监视器支持的常见磁盘格式。
  • vdi. 被VirtualBox虚拟机监视器和QEMU仿真器支持。
  • iso. 光盘的数据内容的存档格式,比如CD-ROM。
  • qcow2. QEMU仿真器支持动态扩展并支持写时复制。
  • aki. Amazon内核映像。
  • ari. Amazon RAM磁盘映像。
  • ami. Amazon机器映像。

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