我理解docker容器的功能,例如app isolation,Server Consolidation,......但我想知道Container的真实世界用例是什么。你是如何在生产环境中使用容器的?它们是否用于托管Web服务和网站?你能告诉我一些例子吗?
由于
答案 0 :(得分:4)
因此,我将举例说明我使用旧的方法部署应用程序,让我们说一个单一应用程序的rails应用程序,即db,web应用程序,像sidekiq这样的后台任务调度程序(in python RabbitMQ的情况)和redis来保存temporal(key,value)数据。在单个服务器上运行的所有这些服务都意味着此应用程序在任何给定时刻都有单点故障。如果某些内容失败意味着您的整个应用程序处于脱机状态,而您却急于查找失败的内容。如果您已将应用程序拆分为称为微服务的小部分,其中应用程序的每个部分都打包到具有所需库的容器中,然后独立地动态部署以构成整个应用程序的一部分。将您的应用程序与这些可管理的组件分离,并降低应用程序完全失败的可能性。此外,无论目标环境是私有数据中心,公共云,还是开发人员的个人笔记本电脑,解耦都可以轻松,一致地部署基于容器的应用程序。
在部署期间采用大多数人构建版本的部分,有时可能在部署期间失败。使用容器,您可以在发布时间之前构建映像,并且您可以运行类似于生产中的环境而无需猜测,这使您可以更轻松地推出更频繁而无需担心失败/或更少减少。它还增加了发布/构建应用程序的一致性。
容器化提供了一个清晰的关注点分离,如 开发人员专注于他们的应用程序逻辑和依赖关系,而IT 运营团队可以专注于部署和管理 困扰应用程序的详细信息,如特定的软件版本 和应用程序特有的配置。
只需阅读这两个链接,就应该清理一些内容。