让 Apache VirtualHost 正确映射的问题

Issues getting Apache VirtualHost to properly Map

我正在 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 地址?

有什么我遗漏的吗?

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

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