我正在开发一个监控电子邮件的平台,将结果保存在Mongo数据库中(通过Parse-Server)并在Web应用程序上显示结果(使用AngularJS)。
基本上,对于每个客户,我想要一个SMTP服务器,一个解析服务器,一个MongoDB&一个网络平台。
我想过使用Docker获得更多的可扩展性,我的想法是在用户注册我的网站时自动创建容器,但我真的不明白如何将这些容器连接在一起:web1 | smtp1连接到parse1连接到mongo1& web2 | smtp2连接到连接到mongo2的parse2。
最后,我希望客户通过web1.website.com访问网络应用程序,所以我想我也应该使用Haproxy ..
我只是想知道它是否真的是最好的方式,因为我对自动化过程感到疯狂,如果你有任何提示可以做到这一点。
答案 0 :(得分:0)
使用Docker(特别是Docker Compose)将容器链接在一起非常容易。事实上,它开箱即用!如果您同时编写所有容器,则会为您的"组合应用程序创建一个Docker网络。并且所有容器都可以看到对方。
请参阅文档here。
现在,每个容器都可以查找主机名web或db,并获取相应容器的IP地址。例如,web的应用程序代码可以连接到URL postgres:// db:5432并开始使用Postgres数据库。