node.js - 使用 docker 容器的 mongodb Node 应用程序最适合什么?

标签 node.js mongodb docker

对于使用 docker 容器的 mongodb Node 应用程序来说,什么是最好的? Node 和 mongodb 都在同一个 docker 容器中,或者具有相互链接的 nodeApp 和 mongodb 独立容器?

我已经尝试了这两种方法,并且它们都对我有用。对于第一个案例,我采用了基于 ubuntu 的镜像,并使用 Dockerfile 安装了 Node 和 mongodb,并启动了在同一容器中具有这两个环境的容器。对于第二种情况,我使用 Node 和 mongodb 基础镜像并作为单独的容器运行。但很困惑我应该选择哪种方法?

最佳答案

在单独的容器中使用两者的方法为您提供了多种优势,第一个是您可以彼此独立地扩展它们。

除此之外,它还允许您使用更轻量级的图像,因为它们只需要一组非常特定的依赖项。

它还允许您为 future 创建一个更灵活的环境,即,如果您想要添加更多仅依赖于其中一个容器的容器,或者以其他方式减少容器之间的交互次数成分。例如,如果两者位于同一个容器中,则不可能允许另一个容器仅访问 MongoDB。或者,如果您扩展 Node 应用程序,则让它仅连接到另一个后端容器,而不必将该后端服务器与 mongo 耦合。

TLDR 使用两个独立容器的方法,这就是 docker 的用途并提供最大的灵活性

关于node.js - 使用 docker 容器的 mongodb Node 应用程序最适合什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53553172/

相关文章:

maven - 使用带有fabric8 Maven插件的外部配置文件运行Docker镜像

javascript - 查找未处理的 promise 拒绝 : TypeError: Chaining cycle detected for promise 的来源

excel - NODE.JS: fatal error - JS 分配失败 - 进程内存不足,同时解析大型 excel 文件

node.js - 如何停止在docker中运行 Node

javascript - 使用_id作为日期查询条件

java - 关闭 Mongodb Changestream 导致异常

docker - 派生镜像时继承了哪些 Dockerfile 指令?

javascript - Node.js 安装成功!哦,但是为什么这段代码没有渲染呢?

node.js - 为什么我在使用 selenium chromedriver 时会出现此错误?

javascript - 如何使用 node.js javascript 将 JSON 转换为类似树的对象?