我的问题是:如果使用Docker工具箱(运行Windows 10 home需要Docker工具箱),实际上是在使用虚拟机(vm)?
如果您已经在使用虚拟机,那么从那时开始使用docker的唯一原因就是保存更多实例?
意思是如果您只想要1个(来宾实例):您可以拥有一个虚拟机。但是,使用docker(Windows 10家庭版中的工具箱),您将拥有1个vm并运行docker?
唯一有用的方法是,如果您想要更多实例,例如:1个vm + 1个docker或+ 1000个更多的dockers?
还是我错过了什么?
答案 0 :(得分:0)
是的,docker工具箱使用Oracle VirtualBox导致Windows 7、8和Windows 10 home无法使用HyperV。是的,如果您已经在使用VM,那么从那时起使用docker的唯一原因就是保存更多内容。多个实例,但它也允许轻松备份和部署。但是在运行虚拟机时,您将损失大量内存,而在运行docker时,甚至会损失更多内存。
答案 1 :(得分:0)
因此,尽管Docker CE会告诉您Windows不支持Hyper-V,但情况并非总是如此(如果您在系统信息中签入,则可能启用了Hyper-V,如果您使用的是Insider版本或在周年更新后在GPU计算机上构建许多版本,则您可能在Windows 10 Home上具有Hyper-V。在Docker团队提出this issue之前,有一些解决方法。
您可以在WSL(Linux的Windows子系统)内部使用Docker。微软声称WSL无需Hyper-V即可直接访问所有内容,因此理论上应该以相同的速度。当然,由于limitations with GPU passthrough on WSL, which you can ask to be resolved here,您根本无法使用GPU。
您还可以将Docker Toolbox用作Virtualbox的其他答案,但这在本质上要慢得多,因为您要在虚拟化容器中对容器进行虚拟化。从理论上讲,您应该能够从中获得GPU支持,以及其他功能,例如WSL无法提供的GUI。
答案 2 :(得分:0)
回答问题的“有用性”部分:
如果您在服务器上运行代码但需要开发/调试/更新它,这也很有用。您想在本地进行测试,但是要确保其执行的环境相同(以避免意外的,特定于环境的行为),请在本地和服务器上都使用Docker。在这种情况下,即使速度很慢,我也会在W10 Home笔记本电脑上启动虚拟机并在其中运行Docker。
答案 3 :(得分:0)
Windows 10 Home 2020年5月更新的最大功能是Windows Subsystem for Linus 2。您可以在其中泊坞窗,而无需像Virtual Box中那样的完整虚拟机。
安装Docker Desktop,它将自动识别WSL2。