禁止使用PHP-403的Docker
今天我决定从流浪汉转到Docker,但我在访问localhost:8080时遇到了403禁止的错误 我的文件结构:禁止使用PHP-403的Docker,php,windows,docker,Php,Windows,Docker,今天我决定从流浪汉转到Docker,但我在访问localhost:8080时遇到了403禁止的错误 我的文件结构: learning-php // root folder dockerconfig virtualhosts.conf web index.php docker-compose.yml 这是我的docker-compose.yml文件: web: image: php:7.0-apache ports: - "8080:80"
learning-php // root folder
dockerconfig
virtualhosts.conf
web
index.php
docker-compose.yml
这是我的docker-compose.yml文件:
web:
image: php:7.0-apache
ports:
- "8080:80"
volumes:
- .:/var/www/html
- ./dockerconfig/virtualhosts.conf:/etc/apache2/sites-enabled/virtualhosts.conf
links:
- mysql
mysql:
image: mysql:5.7
ports:
- "3307:3306"
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_USER: dev
MYSQL_PASSWORD: 123456
MYSQL_DATABASE: mydb
这是我的dockerconfig/virtualhosts.conf文件:
<VirtualHost *:80>
ServerName localhost
DocumentRoot /var/www/html/web
DirectoryIndex index.php
<Directory /var/www/html/web>
AllowOverride All
Require all granted
Options FollowSymLinks
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
</Directory>
</VirtualHost>
服务器名本地主机
DocumentRoot/var/www/html/web
DirectoryIndex.php
允许超越所有
要求所有授权
选项如下符号链接
选项-多视图
重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写规则^(.*)$index.php[QSA,L]
在我的index.php中,它只是对phpinfo的调用。
我使用Windows 10作为操作系统
请帮助我找到问题所在。在Windows docker上,docker在VM中运行,因此暴露的端口(8080)不在本地主机上,而是在docker主机VM上。运行
docker machine ip
将ip获取到虚拟机,然后打开http://docker-ip:8080
在web浏览器中Windows docker在虚拟机中运行,因此暴露的端口(8080)不在本地主机上,而是在docker主机虚拟机上。运行docker machine ip
将ip获取到虚拟机,然后打开http://docker-ip:8080
在web浏览器中