共计 402 个字符,预计需要花费 2 分钟才能阅读完成。
与虚拟机比拟,容器更加轻量级,因为虚拟机“虚构”了一个残缺的操作系统,而容器只是一个隔离的过程而已。
当一台主机上运行三个虚拟机的时候,你就领有了三个齐全分隔的操作系统,共享同一台主机。多个容器则会齐全执行运行在宿主机上的同一个内核的零碎调用,这个内核也是惟一一个在宿主机操作系统执行 x86 指令的内核。
如果以后有 6 个雷同的应用程序别离用虚拟机和 Docker 容器运行,你会发现无论是利用 A 和 B 无论在虚拟机和容器上都能够拜访同样的二进制和库。在虚拟机里是天经地义的,而 Docker 通过镜像分层,容器运行时,一个新的可写层在镜像层之上被创立,每一层仅被存一次,当基于雷同根底层的镜像被创立成两个容器时,它们就能读取雷同的文件;然而如果其中一个容器写入某些文件,另一个是无奈看见文件变更的,即便它们共享文件,也是彼此隔离的。
尽管容器比虚拟机轻量的多,但也给运行于其中的利用带来了一些局限性,这些问题留待后续探讨。
正文完