正面回答这个问题之前,先看看虚拟机和Dcoker的区别。
虚拟机:在一台物理机器上,利用虚拟化技术,虚拟出来多个操作系统,每个操作系统之间是隔离的。举例说明:电脑上安装操作系统,比如我们安装了win10的操作系统;再往上安装虚拟机软件,比如我们常用的VirtualBox、VMWare,它们的作用是模拟计算机硬件;这样虚拟机模拟出来的操作系统了;在虚拟的操作系统中,安装所需的软件、组件等。比如我们在虚拟操作系统中安装JDK、Tomcat等;最后就是具体的应用了,也就是把应用部署到Tomcat中。
总结一下虚拟机和Docker的区别:
从两者的架构图上看,虚拟机是在硬件级别进行虚拟化,模拟硬件搭建操作系统;而Docker是在操作系统的层面虚拟化,复用操作系统,运行Docker容器。
Docker的速度很快,秒级,而虚拟机的速度通常要按分钟计算。
Docker所用的资源更少,性能更高。同样一个物理机器,Docker运行的镜像数量远多于虚拟机的数量。
虚拟机实现了操作系统之间的隔离,Docker算是进程之间的隔离,虚拟机隔离级别更高、安全性方面也更强。
再正面回答一下“Docker可以代替虚拟机运行生产服务器么”?
联系客服