使用像docker这样的容器有什么需要?为什么我们不能只有一台或多台专用机器来托管服务?

时间:2017-01-24 21:58:30

标签: docker containers kubernetes

几个月前我进入了市场。本周我开始在一家新公司工作,该公司使用Docker容器和Kubernetes来管理它们。

我理解容器的概念。但是为什么使用容器而不是每台服务只使用一台或多台机器呢?我认为它会提供更多的性能和隔离。是因为成本问题我们不这样做吗?

2 个答案:

答案 0 :(得分:2)

容器最常见的用例是帮助您解决打包问题,以便更轻松地进行部署。我过分简化了,但我希望能够激发正确的想法:

<强>正常:

  • 在计算机上安装依赖项
  • 在机器上拉代码/二进制文件运行

使用Docker:

  • Developer将所有依赖项和代码/二进制文件放入docker镜像
  • Docker镜像作为容器在任何地方运行。保证工作。无需事先安装机器。

使用Kubernentes

  • 您不必管理在机器群集内的计算机上执行运行容器命令的操作。
  • 作为开发人员,您只需创建一组计算机并告诉Kubernetes您想要运行的容器。 Kubernetes找出了运行容器的最佳位置,并运行它然后为您监督它。

另外,你应该真的开始这个课程:https://www.udacity.com/course/scalable-microservices-with-kubernetes--ud615

答案 1 :(得分:1)

  1. 容器启动速度快于机器
  2. 容器是轻量级的,因此整个图像更易于发送/复制/备份
  3. 容器是标准化的,因此您可以在本地或云端托管它们,无论是Azure,Google,Amazon还是其他
  4. 容器改进了开发工作流程。您可以简单地拉下容器并运行它,而不是安装软件。
  5. 容器解决环境问题。因为所有依赖项都是在容器中提供的,所以你永远不会停留在我的机器上工作但是在那台机器上工作失败了#34;。
  6. 容器可以更轻松地推出升级,无需停机。使用一组容器,您只需调出新版本,然后关闭旧版本。
  7. Kubernetes使大容量管理容易。
  8. Kubernetes通过了解运行容器的主机群集的运行状况来帮助管理弹性。
  9. Kubernetes通过为您管理生命周期来简化对容器的访问。