首页 > 解决方案 > 让 Apache VirtualHost 正确映射的问题

问题描述

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

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

如果我开始我的容器

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

我可以访问 mydomain.com:8080 并查看我的网站,但如果我只是导航到 mydomain.com,它就不起作用。

我的 VirtualHost 节httpd.conf

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

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

有什么我想念的吗?

标签: linuxdockerapache2virtualhosthttpd.conf

解决方案


很明显,该网站在 port 上可用8080,但在 port 上不可用80,因为您定义了-p 8080:80. 您需要改为公开端口80

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

推荐阅读