暴露本地运行的多个docker容器



我正在创建一个SaaS项目,该项目允许最终用户将仪表板作为一个web应用程序运行和访问,该应用程序是一个Docker容器,这意味着每个用户都有自己的仪表板,该仪表板是一个正在运行的Docker容器。我希望他们使用我的域(HTTP(访问他们的服务器/容器,如下所示:user1:subdomain.mydomain.com/user1app、user2:subdomain.middomain.com/user1pp等。

目前,我正在使用LocalTunnel,但它并不稳定,要求我为每个用户使用1个子域名,例如:user1.mydomain.com、user2.mydomain.com等。但如果我们扩大规模并获得更多用户呢?我需要一种动态和自动的方式来创建用户自定义URL链接,以公开他们正在运行的docker容器,并为他们提供访问权限,如子域.mydomain.com/user123、子域.myddomain.com/user456等。

我试着使用ngrok,但它在很多方面都是有限的,例如40个请求/分钟的限制,而且不是免费的。感谢

我建议使用docker运行nginx-revsere代理,只需一个ip就可以托管任意数量的web应用程序。

https://github.com/nginx-proxy/nginx-proxy

在那里,您可以添加每个主机的配置,甚至可以更改默认配置。因此,您可以为每个仪表板编写一个配置,或者使用变量和bashscript来创建主机配置

如果您有多个docker容器在本地运行,您可以使用ngrok将它们暴露在互联网上。

首先,安装ngrok:

$npm安装-g ngrok

然后,启动ngrok并指定docker容器运行的端口:

$ngrok http 80

Ngrok会给你一个URL,你可以使用它从互联网访问你的docker容器。

相关内容

  • 没有找到相关文章

最新更新