Hosting
是否可以使用 Docker 為使用者分離網站?
我管理伺服器,使用者在上面有自己的網站,可以通過 FTP(如託管公司)訪問,而不是隔離 LAMP 堆棧程序,我想知道是否可以實現 Docker 並為每個網站使用一個圖像。
據我了解,您可以通過它們的埠公開 Docker 實例,因此如果您在同一台伺服器上執行兩個 docker 實例,則必須公開兩個不同的埠。
但是是否可以不導出埠,而是導出伺服器名稱,例如:
- www.somewebsite.com : Docker 實例 1
- www.otherwebsite.com : Docker 實例 2
- www.etc.com : Docker 實例 …
而且,在同一台伺服器上。
我曾考慮在伺服器上只安裝 Apache,這會根據伺服器名稱將請求重定向到專用的 Docker 實例,但是我必須在任何 Docker 實例上安裝 Apache(再次!)和 MySQL。
這可能嗎?此外,這在性能方面是否有趣(或根本沒有)?
感謝您的幫助。
是的,有可能。您需要做的是提供幾個 80 埠。每個 URL 一個。您可以使案例如在 Docker 主機伺服器上執行的 Apache 虛擬主機來執行此操作。
- 設置 DNS CNAME。
- 執行 docker 實例並將其埠 80 映射到 docker 主機的埠,例如 12345~12347。
- 在 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>