在Docker内部运行的主机名
我是docker工人,我的问题类似于:
我的网站在Docker容器中运行,如何实现虚拟主机?
但是我实际上并不需要使用不同的虚拟主机托pipe多个站点。 我只需要让服务器响应一个特定的虚拟主机名,例如:myhost.mysite.com
目前,该网站可以通过IP正常工作,但在使用主机名时不会响应。 由于我只有一个站点/主机名,我必须设置一个代理问题中所述?
我已经尝试添加一个-h myhost.mysite.com到我的docker运行命令,但这似乎没有任何区别。
PS。 主机名DNS确实正确地parsing为泊坞窗服务器的IP地址。
这真的取决于容器内运行的Web服务器。
- Apache:使用
ServerName
和可能的ServerAlias
- Nginx:使用
server_name
- Django:使用
ALLOWED_HOSTS
实际上,Docker并不需要知道。 HTTP服务器软件需要知道。
您链接的问题涉及多个网站,这就是为什么需要代理。 如果你只运行一个站点,代理是没有必要的(至less,不是这个目的)。 只要让Docker监听端口80和/或443本身,并让内部运行的服务器软件决定哪些主机名对站点有效。