如何使用Docker正确部署和扩展应用程序

时间:2018-11-01 18:22:29

标签: node.js mongodb docker elasticsearch scalability

我正在研究使用docker部署带有mongo DB和弹性搜索的nodejs应用程序。我希望它具有可伸缩性,nodejs服务器和弹性搜索服务器。我找到了码头工人。但是我不知道如何设计项目结构。我发现了aws ec2。我认为这样会很好。但是,我的疑问是,我该如何部署它?最好的选择是将弹性搜索与nodejs容器分开部署吗?或者我可以将所有这些部署在ec2实例上的单个docker容器中? docker对部署大型应用程序有用吗?我用谷歌搜索,但找不到任何真正有用的东西。

2 个答案:

答案 0 :(得分:0)

您需要将它们作为单独的服务运行和扩展:

  • 在docker主机或k8s上运行Elasticsearch集群
  • 在docker或kubernetes上运行mongod服务
  • 在docker主机或k8s上运行您的应用,并使用以上两项服务

当前,我将所有这些作为单独的服务在docker主机上运行,​​但我计划在kubernetes上全部运行它们,以在没有自定义自动化脚本的情况下扩展它们。

答案 1 :(得分:0)

如果将docker用作存储引擎,请确保使用docker卷存储数据。 Docker Volumes

但是,由于磁盘性能的原因,我建议在没有docker的节点上运行mongoDB。对于弹性搜索tbh,我可能也会这样做。

编辑:是的,在单独的docker实例上分开您的服务。还可以看看AWS ECS