我正在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地址吗?
有什么我想念的吗?
答案 0 :(得分:4)
很明显,由于您定义了8080
,因此该网站可以在端口80
上访问,而不能在端口-p 8080:80
上访问。您需要改为公开端口80
。
docker run -dit --name web-app -p 80:80 web-image