如何使用 docker 正确部署和扩展应用程序
How to correctly deploy and scale applications using docker
我正在研究如何使用 docker 部署带有 mongo 数据库和弹性搜索的 nodejs 应用程序。我希望它是可扩展的,nodejs 服务器和弹性搜索服务器。我找到了docker。但是我不知道我是如何设计项目结构的。我找到了aws ec2。我认为它会很好用。但是,我的疑问是,我该如何部署它?最好的选择是将弹性搜索与 nodejs 容器分开部署吗?或者我可以将所有这些部署在 ec2 实例上的单个 docker 容器中? docker 对部署大型应用程序有用吗?我用谷歌搜索,但找不到真正有用的东西。
您需要 运行 并将它们全部扩展为单独的服务:
- 运行 docker 主机或 k8s 上的 elasticsearch 集群
- 运行 mongod 服务在 docker 或 kubernetes
上
- 运行 您的应用在 docker 主机或 k8s 上,并使用上述两项服务
目前我运行将所有这些作为 docker 主机上的单独服务,但我计划 运行 它们都在 kubernetes 上以在没有自定义自动化脚本的情况下扩展它们。
如果您使用 docker 作为您的存储引擎,请确保您使用 docker 卷来存储您的数据。 Docker Volumes
不过,我会在没有 docker 的节点上推荐 运行 mongoDB,仅仅是因为磁盘性能。我可能会对弹性搜索 tbh 做同样的事情。
编辑:是的,将您的服务分离到单独的 docker 实例中。另请查看 AWS ECS.
我正在研究如何使用 docker 部署带有 mongo 数据库和弹性搜索的 nodejs 应用程序。我希望它是可扩展的,nodejs 服务器和弹性搜索服务器。我找到了docker。但是我不知道我是如何设计项目结构的。我找到了aws ec2。我认为它会很好用。但是,我的疑问是,我该如何部署它?最好的选择是将弹性搜索与 nodejs 容器分开部署吗?或者我可以将所有这些部署在 ec2 实例上的单个 docker 容器中? docker 对部署大型应用程序有用吗?我用谷歌搜索,但找不到真正有用的东西。
您需要 运行 并将它们全部扩展为单独的服务:
- 运行 docker 主机或 k8s 上的 elasticsearch 集群
- 运行 mongod 服务在 docker 或 kubernetes 上
- 运行 您的应用在 docker 主机或 k8s 上,并使用上述两项服务
目前我运行将所有这些作为 docker 主机上的单独服务,但我计划 运行 它们都在 kubernetes 上以在没有自定义自动化脚本的情况下扩展它们。
如果您使用 docker 作为您的存储引擎,请确保您使用 docker 卷来存储您的数据。 Docker Volumes
不过,我会在没有 docker 的节点上推荐 运行 mongoDB,仅仅是因为磁盘性能。我可能会对弹性搜索 tbh 做同样的事情。
编辑:是的,将您的服务分离到单独的 docker 实例中。另请查看 AWS ECS.