2017-08-28 97 views
0

我想了解生产环境中通常会做什么。生产代码和端口

说我有一个角/ mongo /快速应用程序,并使用码头即时通讯。我会用端口80上的nginx或apache http启动静态资源给客户端。节点和快递的web服务将在一个容器中一起暴露在端口8080上。mongo实例将在8080以及它自己的容器中链接和暴露。接下来,我将Linux主机中的主机映射到容器的IP地址。要使用Web服务,我将使用$ http或可观察值中的角度4来调用express服务器。这将会打电话来表达哪个会将它发送给mongo实例。端口80是唯一暴露给客户端的东西,因为您不希望使端口指定特定的端口(例如www.clienturl.com:9037)。从端口80获得静态资源,然后根据需要调用在其他端口上运行的Web服务。

这是否有点正确?我对所有端口如何关联感到困惑。

回答

0

我不确定我的问题是否正确,但是如果您想在生产中使用docker(我只是在谈论docker而没有任何编排器),那么我的建议是安装一个传统的(或为什么不是dockerized)代理服务器(例如nginx)并通过它暴露你的docker服务。例如,如果在两个不同的Docker容器中有两个Web服务,则可以将它们公开到端口8080和8081.然后,通过一个简单的配置,可以将请求发送到端口80上的服务器(其中代理正在监听)基于主机名(基于经典名称的虚拟主机)。

这是我能想到的最简单的方法之一,以便在没有编排器的情况下在“制作”中使用docker。

+0

谢谢,这指出了我在正确的方向。 – CW1

+0

协调员是什么意思? – CW1

+0

一个orchestrator是一个软件,它负责处理大量的容器,它们如何交互以及更多。例子是'kubernetes','码头群','mesos' – whites11