我是Docker的新手
这是我的配置
文件夹结构
Test :
- docker-compose.yml
- Dockerfile
- www
- index.html
Docker YML
version: "3"
services:
www:
build: .
ports:
- "8001:80"
volumes:
- ./www:/var/www/html/
links:
- db
networks:
- default
db:
image: mysql:8.0.16
command: ['--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci','--default-authentication-plugin=mysql_native_password']
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: myDb
MYSQL_USER: user
MYSQL_PASSWORD: test
MYSQL_ROOT_PASSWORD: test
volumes:
- ./dump:/docker-entrypoint-initdb.d
- persistent:/var/lib/mysql
networks:
- default
phpmyadmin:
image: phpmyadmin/phpmyadmin:4.8
links:
- db:db
ports:
- 8000:80
environment:
MYSQL_USER: user
MYSQL_PASSWORD: test
MYSQL_ROOT_PASSWORD: test
volumes:
persistent:
Dockerfile
FROM php:7.2.6-apache
RUN docker-php-ext-install mysqli pdo pdo_mysql gd curl
RUN a2enmod rewrite
RUN chmod -R 775 /var/www/html
phpmyadmin仪表板正常工作,但是当我输入网址时,它显示 403禁止错误
当检查日志时,显示如下错误:
[Mon Sep 02 12:00:44.290707 2019] [autoindex:error] [pid 18] [client 192.168.99.1:52312] AH01276: Cannot serve directory /var/www/html/: No matching DirectoryIndex (index.php,index.html) found, and server-generated directory index forbidden by Options directive
192.168.99.1 - - [02/Sep/2019:12:00:44 +0000] "GET / HTTP/1.1" 403 508 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36"
而我的“/ var / www / html”目录为空。我该如何解决?
更新
我使用bash创建了一个文件index.php,但是它在我的文件系统上找不到index.php文件。
请帮忙
如果您需要任何其他信息,请随时询问:)。
谢谢
最佳答案
终于我明白了这个问题,我使用的是docker工具箱,所以它只挂载C:\Users
目录,但是我的项目文件夹在d驱动器上。所以我必须将D:\projects
目录挂载到vm共享文件夹中。我按照以下步骤
并将其指向我要安装的位置。就我而言,这是
'D:\ projects'(启用自动安装和永久设置)
使用称为“默认”)
case与VirtualBox中共享文件夹的名称相同:
'mkdir projects'
uid = 1000,gid = 50个项目/ projects”(第一个“项目”是
VirtualBox共享文件夹名称,第二个“/ projects”是
我刚刚创建的目录,并希望用作安装点)。
/ projects / test / www / build /:/ var / www / html /'(左侧是
/ projects安装在我的VM中,右侧是要安装的目录
在我的Docker容器中)
清除:通过外部的Docker Quickstart Terminal运行此命令
您的本地文件系统上的SSH session
位于docker-compose.yml文件)。
我像这样更改docker-compose.yml:
version: "3"
services:
www:
build:
context: .
dockerfile: Dockerfile
ports:
- "8001:80"
volumes:
- /projects/test/www:/var/www/html/
links:
- db
networks:
- default
db:
image: mysql:8.0.16
command: ['--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci','--default-authentication-plugin=mysql_native_password']
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: myDb
MYSQL_USER: user
MYSQL_PASSWORD: test
MYSQL_ROOT_PASSWORD: test
volumes:
- ./dump:/docker-entrypoint-initdb.d
- persistent:/var/lib/mysql
networks:
- default
phpmyadmin:
image: phpmyadmin/phpmyadmin:4.8
links:
- db:db
ports:
- 8000:80
environment:
MYSQL_USER: user
MYSQL_PASSWORD: test
MYSQL_ROOT_PASSWORD: test
volumes:
persistent:
我还更新了oracle vm。
我从这里找到了这个解决方案:https://github.com/moby/moby/issues/22430#issuecomment-215974613
多谢兄弟 :)
关于docker - Docker工具箱卷安装在Windows 10上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57756835/