Docker:当PHP将file upload到挂载的数据卷时,权限被拒绝

我在Win10上使用docker quickstartterminal。

Client: Version: 17.06.0-ce, API version: 1.30 Go version: go1.8.3 Git commit: 02c1d87 Built: Fri Jun 23 21:30:30 2017 OS/Arch: windows/amd64 

我有一个简单的file uploadPHP脚本,将上传的文件保存到名为“/ uploads”的文件位置。

我想将“/ uploads”文件夹附加到php:apache容器,所以我可以很容易地与python后端共享内容。

我正在使用下面docker-compose.yml文件来构build一个带有python后端的web服务。 注意: php在没有卷的php:apache环境下工作。

 $ docker volume create fileul --opt o=uid=197609,gid=0 version: '3.2' services: Python_app: build: ./product volumes: - ./product:/usr/src/app ports: - 5001:80 website: image: php:apache volumes: - ./website:/var/www/html - type: volume source: fileuld target: /var/www/html/uploads read_only: false ports: - 5000:80 depends_on: - Python_app volumes: fileuld: 

当我尝试将文档上传到附加的卷文件时,我在Web服务上收到了一个权限错误failed to open stream: Permission denied in /var/www/html/upload.php

我已经读了一些其他的这个stackoverflowpost,他们谈论的UID和GID,我曾尝试使用:

 $ls -ls 

其中给出了以下内容:

  4 -rw-r--r-- 1 ASUSNJHOME 197609 343 Sep 23 14:49 docker-compose.yml 32 drwxr-xr-x 1 ASUSNJHOME 197609 0 Sep 22 07:10 product/ 0 drwxr-xr-x 1 ASUSNJHOME 197609 0 Sep 23 15:38 volume-example/ 0 drwxr-xr-x 1 ASUSNJHOME 197609 0 Sep 22 21:32 website/ 

但我不能解决如何让卷可以接受写入的文档,或者如何从docker-compose文件创build时更改它的权限。

任何人都可以指向正确的方向吗?

谢谢

迈克尔