生产代码和端口



我正在努力了解在生产环境中通常要做什么。

假设我有一个angular/mongo/express应用程序,并且正在使用docker。我将使用nginx或apachehttp在端口80上向客户端启动静态资源。node和express的Web服务将一起在端口8080上暴露的容器中。mongo实例将在8080上链接并公开在它自己的容器中。接下来,我将把linux框中的主机映射到容器的ip。为了使用web服务,我会用$http或if angular 4在observable中调用express服务器。这将调用express,express将把它发送到mongo实例。端口80是唯一暴露给客户端的东西,因为你不想让它们指定一个特定的端口(例如www.clienturl.com:9037(。从端口80提供静态资源,然后根据需要调用在其他端口上运行的Web服务。

这有点正确吗?我弄不清楚所有端口是如何相互关联的。

我不确定我是否答对了这个问题,但如果你想在生产中使用docker(我只谈论docker,没有任何协调器(,那么我的建议是安装一个传统的(或者为什么不安装一个dockerized的(代理服务器(例如nginx(,并通过它公开你的docker服务。

例如,如果在两个不同的docker容器中有两个web服务,则可以将它们公开到8080和8081端口。然后,通过一个简单的配置,您可以根据主机名(一个经典的基于名称的虚拟主机(在端口80(代理正在侦听(上路由进入服务器的请求。

这是我能想到的在没有编排器的情况下在"生产"中使用docker的最简单方法之一。

相关内容

  • 没有找到相关文章

最新更新