linux - 让 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 地址?
有什么我想念的吗?
解决方案
很明显,该网站在 port 上可用8080
,但在 port 上不可用80
,因为您定义了-p 8080:80
. 您需要改为公开端口80
。
docker run -dit --name web-app -p 80:80 web-image
推荐阅读
- css - 为什么会出现未定义的边距?
- python - 如何使用各种可选参数打开
- android - Html.fromHtml() 无法解码锚属性的字体颜色
- html - 嵌套引导网格填充问题
- reactjs - 是否可以等待调度完成
- windows - Windows 进程激活服务 (WAS) 将无法启动
- c# - 转换 DateTime.Now.Ticks.ToString("x"); 回到人类可读的时间戳
- typescript - 如何通过在 Typescript 中提供其名称作为参数来获取枚举值
- python - 视图 user.views.profile 没有返回 HttpResponse 对象。它返回 None 而不是
- php - 声纳扫描仪所有文件