Docker的一个很酷的事情是,它可以很容易地启动不同的网络应用程序来测试它们。
所以我很快就会在一台主机上运行一些(可能是~10个)容器,我需要一种简单的方法来接触它们。
根据子域名或网址,任何人都知道简单路由到不同容器的方式吗?
它应该:
任何人都知道这样简单的事吗? Hipache似乎有点矫枉过正,而且我的工作太多了。
(我现在正在围绕nginx制作一个简单的包装器,但如果已经存在某些东西,我不想浪费我的时间......)
答案 0 :(得分:1)
如果臀部看起来工作太多,你可以试试bouncy。看起来创建一个独立的node.js应用程序,使用此模块执行您所描述的内容似乎并不会太麻烦。你可以在docker容器中运行它,就像任何其他node.js应用程序一样。
答案 1 :(得分:1)
您还可以尝试openresty基于nginx lua的发行版,它允许您动态地路由与redis数据库耦合的所有请求。这样,您可以创建新路由而不会影响实际连接。请参阅网站上的DynamicRoutingBasedOnRedis示例。
使用Lua编写所有内容以及nginx的稳定性时,您可以执行更多操作。
对于相同价格的负载均衡,对于路由,您可以添加许多主机。
答案 2 :(得分:0)
为什么不编写自己的自动http代理来监听Docker事件并相应地更新路由规则?
我写了一个关于如何使用Node.js https://memz.co/api-gateway-microservices-docker-node-js/完成它的简单教程。
否则,您可以使用非常受欢迎的 mailgun 中的VulcanD,尽管它似乎有点放弃。