如何使用 docker 讓客戶端存取在一台伺服器上運行的多個應用程式?

如何使用 docker 讓客戶端存取在一台伺服器上運行的多個應用程式?

假設我有一台具有 200 GB 記憶體且速度非常快的伺服器。我基本上想託管一個像 rserver 這樣透過 Web 介面運行的應用程式。

我想將每個應用程式放入一個容器中,並分配一定數量的 cpu 和 ram。每個容器適合我的每個學生。

我如何為每個學生提供一個要使用的 http 位址,而不用將每個學生硬編碼到連接埠?

答案1

若要指派 cpu 和 ram,您可以在docker run建立容器時選擇(請參閱docker help run),例如--cpuset-cpus=--memory=

對於每個擁有不同 http 位址的學生來說,這並不簡單。我們為託管8 個jenkins 主服務的虛擬機器所做的工作是,每個服務都在容器中運行,並且每個都監聽公開為808x 的8080 端口(在容器中),配置一個僅監聽443 的Apache調度程式(或nginx),並且為每個8 個 DNS 名稱,分派到不同的容器。請參閱這裡的系統:http://www.slideshare.net/cm13/scaling-your-jenkins-master-with-docker/16

為了設定這樣的系統,您需要存取 DNS 伺服器配置,以便為每個學生建立一個新名稱。您還需要自動建立 Apache 虛擬主機配置(這不是很困難)。然後每個學生都去https://他的名字/這將啟動該應用程式。

docker-compose我真的建議使用其他技術來自動化容器的創建。

相關內容