docker,VMware只能选择其一。
VM(VMware)在宿主机器、宿主机器操作系统的基础上创建虚拟层、虚拟化的操作系统、虚拟化的仓库,然后再安装应用;
Container(Docker容器),在宿主机器、宿主机器操作系统上创建Docker引擎,在引擎的基础上再安装应用。
那么问题来了,没有操作系统,怎么运行程序?
可以在Docker中创建一个ubuntu的镜像文件,这样就能将ubuntu系统集成到Docker中,运行的应用就都是ubuntu的应用。
使用上虚拟机占用空间大,且开启缓慢。而docker占用空间小,开启迅速
Docker在宿主机器的操作系统上创建Docker引擎,直接在宿主主机的操作系统上调用硬件资源,而不是虚拟化操作系统和硬件资源,所以操作速度快。
共存
在之前装好系统环境后,想要在工作平台上模拟服务器的环境,来进行一下相关的实验,因此,系统上装好有 vmware 软件,该软件下的快照功能,让我对于相关的实验环境有一个很好的备份操作,很是 nice。
而另一个方面,当前 docker 的活跃程度,也让我这个技术屌丝,内心有点点萌动,想了解一下,如果可以玩出点花样,那也是极好的。
但是,当我尝试了在 windows 环境下,安装好了 docker 后,提示要开启 Hyper-V ,开启后,正常启动 docker 服务。(控制面板->程序->程序和功能->启用或关闭 Windows 功能)
共存解决方案
当需要使用 vmware 时,我们按开启的方式,再次关闭 Hyper-V ,这样,软件就能正常的打开了。
但这样操作,有一个不好的地方,每开启或关闭一次,系统都必需要重启一次,这导致每次系统都进行了一次程序的安装和卸载,费时不高效。
3 更好的办法
建立两个启动项,一个开启了 Hyper-V,而另一个则关闭,这样,我们可以在需要该功能时,在系统启动界面自由的选择相应的启动项,而不用频繁的安装和卸载 Hyper-V。
建立新的启动项,并将 Hyper-V 功能关闭,命令如下:
# win + X 开启命令行,注意:必须以管理员身份执行
bcdedit /copy {default} /d "Windows 10 Without Hyper-V"
# 以上命令得到输出 {xxxxxxxxxxxxxxxxxxx}
bcdedit /set {xxxxxxxxxxxxxxxxxxx} hypervisorlaunchtype off