首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在开发和生产环境中使用docker?

如何在开发和生产环境中使用docker?
EN

Stack Overflow用户
提问于 2014-10-12 02:11:55
回答 2查看 1.2K关注 0票数 3

我们目前在生产和开发环境中都使用厨师。我喜欢码头的概念,它为不同的服务角色发布隔离容器。我认为当构建一个开发环境时,它会很好的工作。我有点不清楚我们应该如何在生产环境中使用它(或者我应该在生产环境中使用它吗?)

在生产中,每个服务已经在各自的专用服务器实例上运行。我觉得在容器中运行它们,而不是直接在主机操作系统上运行是效率低下的。

另一方面,如果我们只在dev环境中使用docker,我们最终会编写两个系统配置的副本,一个在docker中,一个在厨师中,这也不太理想。

如有任何建议或建议,将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-12 09:51:11

在生产中,每个服务已经在各自的专用服务器实例上运行。我觉得在容器中运行它们,而不是直接在主机操作系统上运行是效率低下的。

码头在生产中的优势是易于部署。为了保持最佳性能,请在每台生产机器上安装码头,并让这些码头主机只运行一个容器。这样你的应用程序就可以像以前一样访问相同数量的系统资源。

为了减少码头工人可能导致的开销,有几个窍门:

快速网络

默认情况下,对接器将为容器创建一个新的网络堆栈,但如果在运行新容器时使用-净=东道选项,则容器将使用停靠主机网络堆栈。这将使您的容器在网络性能方面完全没有开销。

还请注意,在使用--net=host时,您不需要使用-p停靠器run选项发布端口,也不需要公开它们。来自容器进程的任何侦听端口都可以在停靠主机ip上访问。

快速文件系统

与非分层文件系统相比,停靠容器文件系统是联合文件系统的慢文件系统。为了保持良好的磁盘性能,请确保容器中运行的进程在码头数据体积上执行密集的读/写操作。数据卷不是容器分层文件系统的一部分,它将具有您的停靠主机文件系统的性能。

票数 6
EN

Stack Overflow用户

发布于 2014-10-12 18:17:50

Docker实际上非常高效--开销并不大,因为它不像虚拟化层,它只是一个具有自己的命名空间和FS的容器。将相同的设置部署到生产中有几个优点:

  1. 您只需要测试“一次”-完全相同的东西运行在生产上,您在本地运行,并且很少有可能出现配置问题。
  2. 您可以对所有实例使用相同的云映像,这是您的基本linux与Docker -其他一切都由docker处理,因此90%的主厨/木偶需求都得到了满足。
  3. 可以说,使用docker可以更容易地跟踪配置更改,因为基本上不需要编写脚本,因此对其他配置管理工具的需求也减少了。
  4. 如果您想要利用多个CPU,您可以在生产主机上运行同一个映像的多个容器,并且不需要担心这些进程如何很好地结合在一起,因为每个进程都有自己的FS等等。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26321163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档