我过去曾运行过几种不同的虚拟化服务器(ESXi、XenServer、Proxmox/KVM)。现在我需要设置一个应该长期运行的新虚拟化环境。我认为为 Docker 做好准备可能是个好主意,因为它最近经常出现。我在开发环境中非常成功地使用了 vagrant,但还没有使用过 docker 容器,但可能很快就会开始使用。
我的问题是,哪个虚拟化平台最适合让我在以后加入 Docker?我很乐意继续使用基于 Xen 构建的平台(最好不是 Citrix 风格),但其他任何平台也都可以。客户机很可能只会使用 Linux,偶尔也会使用 *BSD。我无法设置两个系统,因此 Docker 容器必须与虚拟机位于同一硬件上。(出于单机原因,我也想避免使用 OpenStack,除非它是 Docker + VM 的理想搭配)。
有什么建议,哪种虚拟化基础设施可以与 Docker 良好配合?
答案1
据我所知,Docker 可以在任何虚拟机管理程序上运行。我在家里的 XenServer 上运行的 Ubuntu VM 上运行 Docker。我的笔记本电脑上还有一个在 Virtualbox 中运行 Docker 的 Ubuntu VM。此外,如果您对 Docker 感兴趣,我会看看 CoreOS,它以集群形式提供 Docker 功能。
至于选择要使用的虚拟机管理程序,请选择最适合您预算并且能提供您需要的功能的虚拟机管理程序。
此外,如果这是出于严格的开发目的,我相信 Digital Ocean 提供了一个 Docker 镜像。
答案2
除了虚拟机管理程序,我更关注能够与虚拟机和容器完美配合的系统,以及管理任意组合集群的系统,如 Mesos 或 OpenStack。或者以编排虚拟机和裸机服务器中的容器的方式(kubernetes、CoreOS、OpenShift 和其他工具就是这方面的典型工具)。
只要虚拟机管理程序可以在 64 位模式下运行本机、未修改的 Linux 内核,Docker 就可以正常工作。Docker 在 Xen、KVM、VMWare 和其他虚拟机管理程序上运行没有问题,事实上,Docker 在使用这些虚拟机管理程序的大多数主要云提供商中都可以正常工作。
答案3
如果您仍在研究这个问题,也许 Xen Orchestra(在 XenServer 上运行)会引起您的兴趣:
https://blog.xenproject.org/2014/09/08/xen-docker-made-for-each-other/