【问题标题】:docker php:7.4-apache container, unable to get the page pull up in localhostdocker php:7.4-apache 容器,无法在 localhost 中拉起页面
【发布时间】:2020-10-14 04:56:19
【问题描述】:

我通过使用以下命令转到指定目录成功创建了一个 php_apache 图像 docker build -t php_apache

我的 docker 文件是

FROM php:7.4-apache
COPY Php_demo_project/ var/www/html/
EXPOSE 80

但是在使用以下命令运行映像时

docker run -it --rm --name php_demo_container -p 80:80 php_apache

无法在浏览器中获取页面,当我搜索 localhost 404 禁止访问时,如显示 enter image description here

当我在命令行中输入 localhost 时,它显示为

[Wed Jun 24 01:29:19.895025 2020] [autoindex:error] [pid 16] [client 172.17.0.1:42010] AH01276: Cannot serve directory /var/www/html/: No matching DirectoryIndex (index.php,index.html) found, and server-generated directory index forbidden by Options directive

172.17.0.1 - - [24/Jun/2020:01:29:19 +0000] "GET / HTTP/1.1" 403 491 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/ 537.36(KHTML,如 Gecko)Chrome/83.0.4103.116 Safari/537.36"

我找不到错误在哪里.. 我错过了什么?????????

【问题讨论】:

  • 你可以尝试复制 Php_demo_project/* var/www/html/ 我的意思是,不是复制整个文件夹,而是将文件夹内容复制到 var/www/html
  • @TayburRahaman ,在编写 COPY Php_demo_project/* var/www/html/ 后再次没有在浏览器中显示页面

标签: php docker dockerfile docker-build docker-run


【解决方案1】:

确保您的文件具有读取访问权限:

FROM php:7.4-apache
COPY Php_demo_project/ /var/www/html/
RUN chmod -R a+r /var/www/html/
EXPOSE 80

【讨论】:

  • chrome浏览器和docker是否需要手动权限
  • 我的 index.php 文件存在于 Php_demo_project/src 但我只提到 Php_demo_project 而不是 Php_demo_project/src ,这就是为什么浏览器找不到我的 index.php 文件并且它显示为禁止访问的原因。在 docker 文件中写入 COPY Php_demo_project/src 后,网页显示在浏览器中。谢谢……
  • 这也是有道理的。很高兴你修好了!
【解决方案2】:

我认为这会对你有所帮助:

FROM php:7.4-apache
COPY Php_demo_project/ /var/www/html
RUN chown -R www-data:www-data /var/www
EXPOSE 80

【讨论】:

    猜你喜欢
    • 2022-08-19
    • 1970-01-01
    • 2020-03-02
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 2019-08-22
    • 1970-01-01
    • 2017-10-31
    相关资源
    最近更新 更多