用于 php 的 docker 映像无法在 Windows 10 的浏览器上运行
Posted
技术标签:
【中文标题】用于 php 的 docker 映像无法在 Windows 10 的浏览器上运行【英文标题】:docker image for php is not working on browser for windows 10 【发布时间】:2019-03-18 23:46:42 【问题描述】:我刚开始学习 docker 并尝试使用 docker 文件使用 apache 创建一个 php 映像。根据我的理解,我可以使用 docker 文件创建图像,并且在构建图像后,我尝试以容器的形式运行该图像,它看起来不错,但是当我尝试使用“172.17.0.2”在浏览器上运行它时" IP 地址显示连接已重置问题,我尝试了很多但无法解决此问题。我附上了几张图片,以便清楚地提及我的问题。
Dockerfile:
FROM php:7.2-apache
COPY src/ /var/www/html/
windows pwershell 的屏幕显示
AH00558:apache2:无法可靠地确定服务器的完全限定域名,使用 172.17.0.2。全局设置“ServerName”指令以禁止显示此消息
AH00558:apache2:无法可靠地确定服务器的完全限定域名,使用 172.17.0.2。全局设置“ServerName”指令以禁止显示此消息 [Sat Oct 13 17:42:22.816118 2018] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.25 (Debian) PHP/7.2.10 已配置 -- 正在恢复正常操作 [Sat Oct 13 17:42:22.817371 2018] [core:notice] [pid 1] AH00094:命令行:'apache2 -D FOREGROUND'
任何帮助将不胜感激,谢谢。
【问题讨论】:
您的实际docker run
命令是什么?您尝试访问的实际 URL 是什么?你在使用 Docker 工具箱吗?你知道docker run -p
选项吗?
我正在使用 docker run my-php-app,其中 my-php-app 是我的图像名称。我试图联系172.17.0.2。不,我没有使用 docker 工具箱,因为 Windows 10 支持在 hyper-v 上运行的 docker CE。我还尝试通过添加 172.17.0.2 dockerphp.example.com 来编辑我的 Windows 主机文件,并尝试访问 dockerphp.example.com,但它仍然无法正常工作。
【参考方案1】:
我现在能够解决这个问题,有两个问题: (1) 我试图访问一个不正确的 IP,正确的是 127.0.0.1 (2) 我没有以管理员身份运行 windows power shell 来运行 docker 命令。
如果有人仍然面临同样的问题,除了确保您配置为通过 docker 接口访问 docker 容器的共享驱动器之外,还有一件事。
【讨论】:
【参考方案2】:我还研究了https://hub.docker.com/_/php apache 示例。我通过在 Dockerfile 中添加第三行来澄清 php 源的所有权,从而解决了这个问题:
FROM php:7.2-apache
COPY src/ /var/www/html/
RUN chown -R www-data:www-data /var/www/html
【讨论】:
以上是关于用于 php 的 docker 映像无法在 Windows 10 的浏览器上运行的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Alpine Docker 映像安装 php8.0-ssh2
ehcache 在 Tomcat Docker 映像中不起作用
WIN10系统备份 提示:无法将系统映像保存在计算机从中启动或安装WIDOWS的驱动器上