我在 Win10 上使用docker quickstart终端。
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
我有一个简单的文档上传php脚本,可以将上传的文档保存到名为'/ uploads'的文件位置。
我想将'/ uploads'文件夹作为附加到php:apache容器的卷,这样我就可以轻松地与python后端共享内容。
我正在使用以下docker-compose.yml
文件来构建带有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:
当我尝试将文档上传到附加的卷fileuld时,我在Web服务上出现权限错误。 failed to open stream: Permission denied in /var/www/html/upload.php
我已经阅读了其他一些stackoverflow帖子,他们谈论了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文件创建文档时更改它的权限。
有人能指出我正确的方向吗?
由于
迈克尔