Docker:运行多个可通过 Web 访问的容器

Docker:运行多个可通过 Web 访问的容器

我对 Docker 有疑问。现在我使用配置的虚拟主机在不同的文件夹中运行 Apachce,其中包含不同的站点。现在我想通过基于名称的路由运行多个 Docker 容器。怎么做?我有一个想法,即在自己的端口上运行每个容器,并使用 Apache 将 80 或 443 转发到容器的端口。但我认为这将是一个很大的性能问题,我不知道如何配置它。谢谢。

答案1

如果每个虚拟主机都运行 apache,则内存消耗和 CPU 使用率会更高,尤其是在好友网站上。

Docker 可以稍微帮助您解决部署问题。

如果您打算为每个虚拟主机设置不同的设置,比如一个使用 PHP,一个使用 tomcat/Java,那么这将很有用。

如果您希望将每个主机都放在一个容器中,那么您也需要为每个主机分配一个 IP 地址。您可以在 DNS 中设置主机名,指向每个相应的 IP。

无需进行端口转发或反向代理。想象一下每个 Apache 实例都有一个 VM。每个 Apache 都将成为容器。除非您明确配置容器以运行其他程序,否则其他程序都不会在其中运行。

如果您想要使用单个外部 IP,您可以使用位于容器前面的反向代理。

相关内容