rethinkdb和nodejs + express app非常适合集群环境的容器吗?
以下情况在docker容器中 1.在一个容器中运行rethinkdb和nodjs + express app 2.在启动nodejs app期间,它会检查是否存在特定的数据库和表。如果没有那么创建数据库和表
在一个docker容器中运行正常。但问题是我们需要对rethinkdb进行聚类以及维护表的特定副本数。
将所有这些集群和副本逻辑放在nodejs应用程序中似乎不是一个好主意。陷入困境我该怎么办? 非常感谢帮助。
答案 0 :(得分:0)
在一个容器中运行rethinkdb和nodjs + express app
您通常不应该这样做。将rethinkdb
放入其自己的容器中,并将您的应用程序放在一个单独的容器中。
我建议您使用docker-compose
并为您的服务设置docker-compose.yml
文件。确保在Web应用程序声明中使用depends_on
属性,以便docker
将在应用程序容器之前启动rethinkdb
容器。
如果您手动旋转RethinkDB容器,则应该完全设置,但如果您正在使用Swarm或其他调度程序,请继续阅读。
RethinkDB目前在自动/预定/容器化环境中遇到的一个问题是容器的短暂性以及它们可能重新启动并返回不同的IP地址的可能性。这需要在RethinkDB周围进行一些额外的工具来修改配置表。
如需阅读,我建议您查看how this was achieved in Kubernetes。