我在docker-compose.yml
上构建此图像version: '2'
services:
webserver:
build: ./docker/webserver
image: image_name
ports:
- "80:80"
- "443:443"
volumes:
- /Users/user_name/Sites/site:/var/www/html
在Dockerfile上有这个命令
FROM php:7-apache
RUN apt-get update -y && apt-get install -y libpng-dev && apt-get
install -y libcurl4-openssl-dev
RUN docker-php-ext-install pdo pdo_mysql gd curl
RUN a2enmod rewrite
RUN service apache2 restart
但我得到了
Forbidden
You don't have permission to access / on this server.
Apache/2.4.10 (Debian) Server at localhost Port 80
当我去localhost。
我在Mac上工作。 我已经将docker文件用于其他项目,并且都运行良好。 我错过了什么?
记录回复
无法提供目录/ var / www / html /:没有匹配的DirectoryIndex (index.php,index.html)找到,以及服务器生成的目录索引 选项指令禁止
答案 0 :(得分:13)
看起来apache没有找到要提供的索引页面。确保您的卷映射正确(使用class ShowAllThreads(threading.Thread):
def __init__(self, *args, **kwargs):
threading.Thread.__init__(self, *args, **kwargs)
self.daemon = True
# create an instance variable
self.musicQueue = False
self.start()
def run(self):
while True:
allThreads = threading.enumerate()
for i in allThreads:
if i.name == "PlayMusic" and i.queue == True:
# rebind the instance variable
self.musicQueue = True
print("Playlist is on")
elif i.name == "PlayMusic" and i.queue == False:
self.musicQueue = False
print("Playlist is off")
else:
self.musicQueue = False
time.sleep(2)
输入图像并检查docker exec
文件夹的内容)。如果您的文件在那里,请确保您有一个/var/www/html
或index.html
文件用于提供apache。
答案 1 :(得分:3)
如果您将Apache文档根目录更改为/var/www
之外的非标准内容,则需要在您的虚拟主机中授予访问权限:
DocumentRoot /workspace/my-project
<Directory /workspace/my-project>
Require all granted
</Directory>