2017-10-19 128 views
0

我想使用以下部署體系結構。如何使用Docker進行多層應用程序部署?

  • 一臺機器上運行我的網絡服務器(Nginx的)
  • 兩臺或多臺計算機上運行uwsgi
  • PostgreSQL的我的另一臺服務器上的數據庫。

所有三個都在AWS上三個不同的主機上。在開發過程中,我使用了docker,並能夠在我的本地機器上運行所有這三個。但我現在無能爲力,因爲我想將這三部分分成三個獨立的主機並運行。任何指導,線索,參考將不勝感激。我最好希望使用docker來做到這一點。

回答

0

如果你確實堅持在單獨的主機上保持服務分離,那麼沒有任何東西阻止你繼續在安裝Docker的EC2主機上使用你的容器來做nginx/uswgi,你甚至可以使用CoreOS AMI預安裝好的安全Docker實例(https://coreos.com/os/docs/latest/booting-on-ec2.html)。

有關AWS RDS數據庫使用PostgreSQL。

如果你正在運行的容器,你也可以看看AWS ECS這是亞馬遜集裝箱服務,這將是我最初的建議,但我看到你想要的所有這些服務是在單個主機。

+0

是的,我希望他們在單個主機上,但我無法找到任何教程或指導我如何做到這一點。 –

0

可以使用泊塢窗堆棧部署在羣中的應用, 加入其他兩臺主機的工人,使用下面的選項 https://docs.docker.com/compose/compose-file/#placement deploy: placement: constraints: - node.role == manager

變化進行管理或者worker1或workern這將限制該節點的作用在單個主機上運行的服務。 如果你願意,你也可以通過使用vpn來使這個更安全

+0

你的意思是我可以作爲一個主機和作爲經理的Web服務器和Uwsgi和數據庫作爲其他工作主機?糾正我,如果我錯了,我覺得我是。 –

+0

是的,你是對的 – Vignajeth

+0

總之,我需要我的網絡服務器主機上創建羣,然後得到uwsgi和db主機加入這個羣工人。現在他們將處於同一網絡並應該工作。我需要在任何地方指定我的IP用於其他主機嗎? –

相關問題