Permissions Docker--来自权限的卷

Permissions Docker--来自权限的卷,permissions,docker,Permissions,Docker,我是Docker的新手,所以我可能遗漏了一些东西,我的数据卷文件夹拥有root 以下是我所做的(使用nginx反向代理): 我在Dockerfile图像中做了一个chown,但它看起来像是——来自的卷改变了这一点 我应该如何给予数据文件夹www-data所有权?理论上(): 如果在绑定装入卷之前先chown卷(在主机端),它将正常工作 在这种情况下,您可以执行以下操作: (假设101:101是容器中www-data用户的UID:GID) 请注意,这并不是您正在做的事情:您正在数据卷容器中装载一个

我是Docker的新手,所以我可能遗漏了一些东西,我的数据卷文件夹拥有
root

以下是我所做的(使用nginx反向代理):

我在Dockerfile图像中做了一个chown,但它看起来像是
——来自
的卷改变了这一点

我应该如何给予
数据
文件夹
www-data
所有权?

理论上():

如果在绑定装入卷之前先
chown
卷(在主机端),它将正常工作

在这种情况下,您可以执行以下操作:

(假设
101:101
是容器中
www-data
用户的
UID:GID

请注意,这并不是您正在做的事情:您正在数据卷容器中装载一个主机文件夹(一个非常空的
tianon/true
image),然后将该数据卷容器装载到一个常规容器中


不过,这可能会起作用。

嗯,它起作用了。但是在本例中,我不认为使用数据卷容器有什么意义。我可以直接从webapp容器将数据卷装载到主机上。@Arthur我同意。我只是在关注你在问题中所做的。我仍然不知道它们在哪个用例中有用,但你解决了我的问题。谢谢@Arthur您将使用data volume容器作为容器来公开卷(),该卷可以装入其他容器中。其思想是完全抽象主机文件系统,并在专用容器中管理该数据。
# 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> &
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
mkdir /tmp/www
chown 101:101 /tmp/www
docker run -v /tmp/www:/var/www ubuntu stat -c "%U %G" /var/www