2017-08-28 94 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