Hosting

是否可以使用 Docker 為使用者分離網站?

  • September 7, 2016

我管理伺服器,使用者在上面有自己的網站,可以通過 FTP(如託管公司)訪問,而不是隔離 LAMP 堆棧程序,我想知道是否可以實現 Docker 並為每個網站使用一個圖像。

據我了解,您可以通過它們的埠公開 Docker 實例,因此如果您在同一台伺服器上執行兩個 docker 實例,則必須公開兩個不同的埠。

但是是否可以不導出埠,而是導出伺服器名稱,例如:

而且,在同一台伺服器上。

我曾考慮在伺服器上只安裝 Apache,這會根據伺服器名稱將請求重定向到專用的 Docker 實例,但是我必須在任何 Docker 實例上安裝 Apache(再次!)和 MySQL。

這可能嗎?此外,這在性能方面是否有趣(或根本沒有)?

感謝您的幫助。

是的,有可能。您需要做的是提供幾個 80 埠。每個 URL 一個。您可以使案例如在 Docker 主機伺服器上執行的 Apache 虛擬主機來執行此操作。

  1. 設置 DNS CNAME。
  2. 執行 docker 實例並將其埠 80 映射到 docker 主機的埠,例如 12345~12347。
  3. 在 docker 主機上執行 Apache 伺服器並為每個 URL 設置一個虛擬主機,並將 ProxyPass 和 ProxyPassReverse 設置為 localhost:12345,這是您的 docker 實例之一。

Apache 配置文件將如下所示:

<VirtualHost *:80>
ServerName www.somewebsite.com
 <Proxy *>
   Allow from localhost
 </Proxy>
 ProxyPass        / http://local.hostname.ofDockerHost:12345/
 ProxyPassReverse / http://local.hostname.ofDockerHost:12345/
</VirtualHost>

引用自:https://serverfault.com/questions/632006