我已经在Windows 10笔记本电脑上安装了Docker for Windows。现在由于这个"Docker for Windows“,我也可以在我的Windows10笔记本电脑上运行Linux容器了。这是如何实现的呢?我有一些疑问,我是不是漏掉了什么?
请参见图像以获得更好的可见性

1)我的机器是Windows 10,有Windows内核。对吗?
2)当我选择运行Linux容器的选项时,我认为Linux虚拟机在我的Windows 10机器上运行,Linux容器在上面运行。对吗?
3)如果Linux虚拟机运行在Windows机器之上,使用的是谁的内核?Linux VM内核还是windows 10内核?
4)然后我们怎么能说容器不包括操作系统,对于windows,它们运行的是Linux虚拟机。
5)现在,如果我运行第二个容器,它会在已经运行的Linux VM上运行,还是会再次启动一个新的linux VM?我认为它将运行在相同的运行linux虚拟机上,但要求这样就不会有任何混淆。
6)如果Linux VM在Windows机器上运行,那么我们是否可以像Linux VM的版本一样控制正在运行的Linux VM,等等,或者它总是相同的,我们对它没有任何控制?
7)如果Linux VM在Windows机器上运行,那么windows资源对Linux VM以及容器是不可见的吗?如果它是可见的,那么Linux虚拟机如何与Windows主机通信?
发布于 2019-01-19 20:56:34
1)我的机器是Windows 10,有Windows内核。对吗?
答:是的。
2)当我选择运行Linux容器的选项时,我认为Linux虚拟机在我的Windows 10机器上运行,Linux容器在上面运行。对吗?
答:是的。一个名为mobylinux的hyper-v linux虚拟机将出现在那里,您可以在hyper-v管理器中看到它。
3)如果Linux虚拟机运行在Windows机器之上,使用的是谁的内核?Linux VM内核还是windows 10内核?
答: hyper-v虚拟机使用linux内核。
4)然后我们怎么能说容器不包括操作系统,对于windows,它们运行的是Linux虚拟机。
答:不知道你是从哪里得到信息的。docker镜像只有文件系统,例如ubuntu16.04文件系统,但没有内核。当容器运行时,它将使用镜像的文件系统&共享主机的内核(也许你的意思是它没有自己的内核,所以你说它没有操作系统?)
5)现在,如果我运行第二个容器,它会在已经运行的Linux VM上运行,还是会再次启动一个新的linux VM?我认为它将运行在相同的运行linux虚拟机上,但要求这样就不会有任何混淆。
答:是的,它将再次在同一个linux虚拟机上运行。
6)如果Linux VM在Windows机器上运行,那么我们是否可以像Linux VM的版本一样控制正在运行的Linux VM,等等,或者它总是相同的,我们对它没有任何控制?
答:不,看这个discussion,似乎不能ssh到vm,只是一些解决办法来访问vm的文件系统,所以不能找到任何方法来改变内核或linux发行版。
7)如果Linux VM在Windows机器上运行,那么windows资源对Linux VM以及容器是不可见的吗?如果它是可见的,那么Linux虚拟机如何与Windows主机通信?
答:理论上可以把windows文件夹挂载到linux虚拟机上,容器就可以使用带卷的linux文件夹了。和docker for windows已经为你完成了这一点,右键单击任务栏中的图标,你可以看到如下所示,只需如图所示:

https://stackoverflow.com/questions/54264920
复制相似问题