我对Docker很陌生,所以我可能会遗漏一些内容,我的数据量文件夹中有root
作为所有者。
这是我的工作(使用nginx反向代理):
# Data volume container
docker create -v <data path> --name <app>-data tianon/true
# Webapp container
docker run --volumes-from <app>-data --name <app> \
-e VIRTUAL_HOST=<url> \
<image> &
但是nginx无法写入数据文件夹,如果我进入我的容器:
drwxr-xr-x 2 root root 4096 Dec 16 19:03 data
drwxr-xr-x 3 www-data www-data 4096 Dec 16 18:57 doc
drwxr-xr-x 2 www-data www-data 4096 Dec 16 18:57 images
我在Dockerfile图片中做了一个chown,但看起来--volumes-from
改变了它。
如何授予data
文件夹www-data
所有权?
答案 0 :(得分:1)
理论上(issue 2259):
如果在绑定安装之前
chown
卷(在主机端),它将起作用。在这种情况下,你可以这样做:
mkdir /tmp/www
chown 101:101 /tmp/www
docker run -v /tmp/www:/var/www ubuntu stat -c "%U %G" /var/www
(假设
101:101
是您容器中UID:GID
用户的www-data
。)
请注意,这不是您正在做的事情:您正在将数据卷容器中的主机文件夹(tianon/true
图像,这是非空的see its Dockerfile),然后安装该数据将容器放入常规容器中。
不过,这可能会奏效。