Docker:執行多個可透過 Web 存取的容器

Docker:執行多個可透過 Web 存取的容器

我有問題想問 Docker。現在,我使用配置的虛擬主機在不同資料夾中的不同網站上執行 Apachce。現在我想透過基於名稱的路由來運行多個 Docker 容器。怎麼做?我有一個想法,在每個容器自己的連接埠上運行,並使用 Apache 將 80 或 443 轉發到容器的連接埠。但我認為,這將是一個很大的效能問題,而且我不知道如何配置它。謝謝。

答案1

如果您為每個虛擬主機執行 apache,則記憶體消耗和 CPU 使用率會更高,尤其是在好友網站上。

Docker 可以稍微幫助您解決部署問題。

如果您打算為每個虛擬主機進行不同的設定(例如使用 PHP 的設置,使用 tomcat/Java 的設定),這將很有用。

如果你想讓每個主機都在一個容器中,那麼你還需要為每個主機分配一個IP位址。您可以在 DNS 中擁有指向每個對應 IP 的主機名稱。

無需進行連接埠轉送或反向代理。想像一下,每個 apache 實例都有一個虛擬機器。每個 apache 將是一個容器。除非您明確配置容器來運行其他內容,否則不會在其中運行其他任何內容。

如果您想使用外部 IP,則可以使用位於容器前面的反向代理。

相關內容