我读过各种关于容器与虚拟机的文章。这不是我要问的(我不这么认为)。如果我使用容器,我是否应该在虚拟机上使用它们?
我的服务器是裸机上的2012r2,不是hyper-v服务器,裸机上没有虚拟化,安装的是Windows Standard 2012r2。
如果我想使用 Docker,我是否应该在 Hyper-V 中创建一个 VM 并在该 VM 中使用 Docker?
我可以在裸机操作系统上使用 Docker 吗?
这是一个类似的问题,如果容器没有客户操作系统,为什么我们要在 Docker 中使用操作系统基础映像?
答案1
这取决于您正在运行的应用程序,以及您是否会受益于虚拟化底层原子主机所提供的功能。
Docker 中的实时迁移比实时迁移整个原子主机(本身就是一个 VM)要复杂得多(例如,通过 KVM 实时迁移或 vMotion)。虚拟机比物理机更容易部署,也更容易委托网络连接。使用 VM 时,在组织内划分责任也容易得多。例如,基础架构团队可能在虚拟机管理程序级别结束其责任,而操作团队在客户机级别承担该责任。部署工具和配置管理也是如此。
但是,如果您的应用程序对性能的要求超过了这些好处(或者这些好处与您的应用程序无关),并且裸机部署可以为您提供这种帮助,那么请务必将其放在裸机上。很有可能,无论你做什么都需要持续可重复,因此请小心潜在的“特殊雪花”配置。