Docker - 来自权限的体积

时间:2015-12-16 20:30:32

标签: permissions docker

我对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所有权?

1 个答案:

答案 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),然后安装该数据将容器放入常规容器中。

不过,这可能会奏效。