我正在测试官方镜像 docker PHP:
docker run -d -p 8000:80 --name test php:7-apache
Run Code Online (Sandbox Code Playgroud)
然后,我测试http://localhost:8000,我发现:
Forbidden
You don't have permission to access / on this server.
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
docker run -d -p 8000:80 --name test php:7-apache -v "$PWD":/var/www/html
Run Code Online (Sandbox Code Playgroud)
转到您的项目文件夹并运行上述命令或将 $PWD 替换为您的项目目录。-v 会将您的项目同步到 docker 容器。
或者创建一个 Docker 文件并使用副本在容器中运行您的项目。
上述任何一项都可以解决您的问题。错误的可能原因是没有要渲染的项目。
此图像中不包含 hello world,/var/www/html/是空的,因此没有可查看的内容。您需要按照此图像上的页面指示捆绑您自己的代码:
我们建议您添加自定义 php.ini 配置。通过在上面的 Dockerfile 中再添加一行并运行相同的命令来构建和运行,将其复制到 /usr/local/etc/php 中:
FROM php:7.0-apache
COPY config/php.ini /usr/local/etc/php/
COPY src/ /var/www/html/
Run Code Online (Sandbox Code Playgroud)