我正在努力理解 Docker 的用途(与 VM 相比)。我知道它可以极大地改善软件开发,但我不是开发人员。我更偏向于系统管理员。
我可以理解虚拟机的概念,因为我可以使用 HyperV 或 VMware 将 Web 服务器与托管在一个机器上的文件服务器分开。但我对使用 Docker 的潜在用途感到困惑,因为虚拟机彼此之间提供了隔离。
其他系统管理员能否指出 Docker 的用途,或者何时会选择 Docker 而不是 VM?或者 Docker 是否仅适合软件开发,在 IT 系统管理员方面没有任何用处?
谢谢
答案1
- 您可以运行最新的软件,而无需升级整个系统。
- 即使软件要求不兼容,应用程序也可以共存于同一个虚拟机中
- 如果需要,您可以轻松回滚到以前的版本。
- 使用容器编排(Kubernetes 或其他),您可以轻松地将负载分散到多台机器(甚至数据中心)上,以获得更好的响应和可靠性。在这样的方案中,您可以在同一组虚拟机中运行数十个不同的应用程序,并调整它们的相对 CPU 使用率。
然而:
- 在某种程度上,应用程序必须具有容器意识,将传统的单片应用程序放入容器中并不是一个好主意。
- 仔细查看软件的许可条款。专有软件和容器不太适合混合使用。