【发布时间】:2018-09-03 21:00:50
【问题描述】:
我有三个文件:
Dockerfile:
FROM php:7.2-apache
COPY src/ /var/www/html
EXPOSE 80
docker-compose.yml:
version: '3'
services:
hello-world:
build: .
volumes:
- ./src:/var/www/html
ports:
- 80:80
src/index.php:
<?php
echo "Hello World!";
?>
然后我运行命令:
docker-compose up
到目前为止一切都很好,但是当我在浏览器中访问 localhost 时,我得到:
403 禁止 您无权访问此服务器上的 /。
...以及来自容器的错误消息:
无法提供目录 /var/www/html/:未找到匹配的 DirectoryIndex (index.php,index.html),并且 Options 指令禁止服务器生成的目录索引
但是,如果我从 docker-compose.yml 文件中删除 2 行:
volumes:
- ./src:/var/www/html
...一切正常(文件夹未安装除外)。我究竟做错了什么?它显然不喜欢我挂载卷,导致目录 /var/www/html/ 为空,但为什么呢?
【问题讨论】:
-
你在哪里安装了 docker(Linux、Windows、Mac)?如果是后两者,您主机上的路径是什么?您是否已执行到容器中并验证目录为空,或者只是权限被拒绝?
标签: docker docker-compose dockerfile docker-volume