我已经研究了 docker 几个小时了;我运行 Windows 8.1 作为主机,并使用带有 boot2docker 的 VirtualBox。
这是我的 docker-compose.yml:
mysql:
image: mysql
ports:
- "6603:3306"
environment:
MYSQL_ROOT_PASSWORD: mysql
MYSQL_USER: mysql
fpm:
image: php:7.0.2-fpm
volumes:
- /c/Users/Administrator/www:/var/www/html
ports:
- "9000:9000"
links:
- mysql
nginx:
image: nginx
ports:
- "80:80"
- "443:443"
volumes:
- /c/Users/Administrator/www:/var/www/html
links:
- fpm
这工作正常(我可以转到我的 docker IP 地址并查看 nginx 欢迎页面);尽管当我运行 mkdir 例如(通过 php)时,它会给出有关 Windows 权限的错误。
最佳答案
您应该使用volumes
标签而不是volumes_from
volumes
可以将目录从主机挂载到容器 和volumes_from
从其他服务或容器挂载目录
请查看docker-compose file documentation
您的 docker-compose 文件应如下所示:
fpm:
image: php:7.0.2-fpm
volumes:
- /c/Users/Administrator/www:/var/www/html
ports:
- "9000:9000"
links:
- mysql
nginx:
image: nginx
ports:
- "80:80"
- "443:443"
volumes_from:
- fpm
links:
- fpm
关于php - Docker(NGINX、PHP、mySQL)和 Windows - 文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35045597/