首先介绍一下背景:
我目前使用 VMWare ESXi 作为虚拟机。有些服务器需要 24/7 全天候运行,而有些服务器则在需要时拆除并从模板重新创建。
在使用了 docker 之后,我发现我可以完成上述大部分操作,而且速度更快(至少对于我的 Linux 机器而言)。
但我喜欢 VMware ESXi 的一点是,它提供了主机全局资源的良好图形概览,包括所有正在运行/停止的服务器、它们的硬件资源,并且只需单击几下即可为各个服务器添加更多 RAM、CPU 或磁盘空间。
关于调整内存/CPU似乎你可以在docker中做同样的事情:
https://docs.docker.com/engine/admin/resource_constraints/#configure-the-realtime-scheduler
只是级别稍微低一些。
因此,目前我还没有真正看到可以完全从 VMWare/ESXi 管理的基础架构转移到纯 docker 基础架构的途径,并且基于:
https://www.upguard.com/articles/docker-vs.-vmware-how-do-they-stack-up
这听起来似乎也不是 docker 的真正意义——取代现有的虚拟机管理程序,如 VMWare/Hyper-V 等。
然后问题是:
或者,这些公司是否为其整个机器场运行纯 docker 设置,如果是这样,他们如何管理资源并概览所有服务器?
答案1
“纯”docker 设置增加了另一层抽象。Docker 主机将是运行在虚拟机管理程序或云中的虚拟机。要运行 docker 容器,您需要一个在某处运行的 Linux 主机。docker 主机的资源将需要某种 docker 集群管理器,如kubernetes
或swarm
。
简而言之:没有办法用纯 Docker 解决方案完全取代虚拟机管理程序设置。