用于 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的驱动器上

我需要一个可以使用 php 连接到外部 MYSQL 数据库的 docker 映像

无法在代理后面下载 Docker 映像

使用 AWS CDK 创建用于构建 Docker 映像的 CodeBuild 项目