Docker Rancher外部子域

Docker Rancher外部子域,docker,rancher,Docker,Rancher,我需要为docker容器中的应用程序设置子域,不是在内部rancher网络中,而是为公共用途。我已将域委托给rancher服务器。目录中几乎所有堆栈都有host属性,但它不起作用。我想我需要使用一些rancher dns或设置nginx来代理某些rancher服务器的流量,但我找不到任何流量。您需要的是添加一个负载平衡器服务,然后将主机的80/443转发到容器app/nginx/什么的 因此,导航到您的堆栈,单击添加服务->负载平衡器。然后,您可以选择触发wich域(或者捕获全部,我现在会这样做

我需要为docker容器中的应用程序设置子域,不是在内部rancher网络中,而是为公共用途。我已将域委托给rancher服务器。目录中几乎所有堆栈都有host属性,但它不起作用。我想我需要使用一些rancher dns或设置nginx来代理某些rancher服务器的流量,但我找不到任何流量。

您需要的是添加一个负载平衡器服务,然后将主机的80/443转发到容器app/nginx/什么的


因此,导航到您的堆栈,单击添加服务->负载平衡器。然后,您可以选择触发wich域(或者捕获全部,我现在会这样做),然后选择哪个目标。在这里,您可以选择您的应用程序容器和容器运行其app/httpd服务器的端口,基本上就是这样,我只能从目录堆栈中选择容器。没有独立的容器。我是否应该在单独的堆栈中运行每个应用程序?您需要一个堆栈来至少将lb部署到,lb不需要在应用程序的堆栈中。一般来说,是的,每个应用程序都应该使用堆栈,这是一种设计模式——但我想这也超出了这个问题的范围。我用堆栈包装了我的容器,并添加了负载平衡器。但我的主机已经有80个和443个端口被nginx保留在主域中。我应该在哪里代理子域流量?同样在端口80上设置平衡器之后。我的主机在80端口停止响应。即使是通过默认的nginx,也可以绑定多个外部IP,或者需要部署一个lb并路由到所有目的地。显然,如果一个用户面临80端口失效的问题,那么您不能在一个ipSo上绑定端口80/443两次。我注意到rancher使用iptables将连接重定向到负载平衡器。如果您更改了平衡器上的端口或将其删除,还需要重新启动iptables。