【问题标题】:What is best for node app with mongodb using docker container?对于使用 docker 容器的 mongodb 的节点应用程序,什么最适合?
【发布时间】:2019-05-02 08:26:25
【问题描述】:
对于使用 docker 容器的 mongodb 的节点应用程序,什么是最好的?
node 和 mongodb 都在同一个 docker 容器中,还是有相互连接的 nodeApp 和 mongodb 的单独容器?
我已经尝试了这两种方法,它们都对我有用。对于第一种情况,我采用基于 ubuntu 的映像并使用 Dockerfile 安装了节点和 mongodb,并启动了在同一个容器中具有两个环境的容器。对于第二种情况,我使用 node 和 mongodb base-images 并作为单独的容器运行。但困惑我应该选择哪种方法?
【问题讨论】:
标签:
node.js
mongodb
docker
【解决方案1】:
在单独的容器中使用两者的方法为您提供了多种优势,第一个是您可以相互独立地扩展它们。
除此之外,它还允许您使用更轻量级的图像,因为它们只需要一组非常特定的依赖项。
它还将允许您为未来创建一个更灵活的环境,即如果您想添加更多只依赖于其中一个容器的容器,或者相反,您可以减少两个容器之间的交互次数。成分。例如,如果两者都在同一个容器中,则不可能允许另一个容器仅访问 MongoDB。或者,如果您扩展您的 Node 应用程序,让它只连接到另一个后端容器,而不必将该后端服务器与 mongo 耦合。
TLDR将该方法与两个独立的容器一起使用,这就是 docker 的意义所在并提供了最大的灵活性
【解决方案2】:
考虑可扩展性。为 Node 和 MongoDB 使用单独的容器将是理想的。
它为您提供了灵活性。如果您只想将 MongoDB 容器迁移到其他实例或服务器。