在Docker中运行的网站的主机名

时间:2016-12-22 01:30:10

标签: docker

我是docker的新手,我的问题类似于:

My websites running in docker containers, how to implement virtual host?

但我实际上并不需要托管具有不同虚拟主机的多个站点。我只需要让服务器响应特定的虚拟主机名,例如:myhost.mysite.com

现在该网站通过IP工作正常但在我使用主机名时没有响应。由于我只有一个站点/主机名,我是否必须按照问题中的描述设置代理?

我已尝试添加-h' myhost.mysite.com'我的码头运行命令,但似乎没有任何区别。

PS。主机名DNS确实正确解析为docker服务器的IP地址。

1 个答案:

答案 0 :(得分:2)

这实际上取决于在容器内运行的Web服务器。

  • Apache:使用ServerName,可能ServerAlias
  • Nginx:使用server_name
  • Django:使用ALLOWED_HOSTS

真的,Docker不需要知道。 HTTP服务器软件需要知道。

您与多个网站交易相关的问题,这就是需要代理的原因。如果您只运行一个站点,则不需要代理(至少不是为此目的)。让Docker监听端口80和/或443本身,让内部运行的服务器软件决定哪些主机名对该站点有效。