使Apache VirtualHost正确映射的问题

时间:2018-07-07 17:26:16

标签: linux docker apache2 virtualhost httpd.conf

我正在linux服务器上设置一个docker容器,并且试图设置VirtualHost,以便在我访问自己拥有的域时将显示该网站。

我在我的域上有一个DNS记录,可以使用我的linux服务器的IP地址,并且我在那里安装了apache进行测试,并且正常工作。

如果我使用以下容器启动容器

docker run -dit --name web-app -p 8080:80 web-image

我可以访问mydomain.com:8080并查看我的网站,但是如果我只是导航到mydomain.com,则无法正常工作。

我在httpd.conf中的VirtualHost节是

<VirtualHost *:80>
  ServerAdmin admin@mydomain.com
  ServerName mydomain.com
  ServerAlias mydomain.com
  DocumentRoot /usr/local/apache2/htdocs
</VirtualHost>

我唯一能想到的就是我需要更新域DNS定义以接受Docker容器IP地址吗?

有什么我想念的吗?

1 个答案:

答案 0 :(得分:4)

很明显,由于您定义了8080,因此该网站可以在端口80上访问,而不能在端口-p 8080:80上访问。您需要改为公开端口80

docker run -dit --name web-app -p 80:80 web-image