docker命名卷在安装时会获得哪个权限?

自从1.9版本以来,我正在使用Docker中的新命名卷进行试验。 他们应该取代纯数据容器。 但是,我很难在以下用例中使用命名卷:

我有几个容器运行应用程序作为一些非root用户,称之为appuser; 我确实在我的基础图像中的所有应用程序容器图像派生的uid和gid。 每个应用程序都将一个日志文件写入appuser拥有的文件夹。 然后,我build立了一个只有数据的容器,从相同的基础图像派生。 使用volumes-from指令,我挂载这个只有数据的容器来存储我的日志文件。 这是因为uid是固定的。

相反,如果我尝试使用命名卷,那么应用程序将无法写入其日志文件,因为命名卷由某个依赖于卷驱动器的用户所拥有(对于本地驱动器,用户xfs)。 是否有可能在指定的卷中使用正确的权限创build日志文件夹?

或者更一般地说 – 如果装入指定卷的容器中的应用程序以非root用户身份运行,那么这些卷的命名是否合适? 从我刚才所描述的,这样的应用程序将无法写入或创build任何文件夹在指定的卷。

根据我的经验,似乎命名卷始终以root身份挂载
我检查了命名的卷来查找主机的文件夹,然后更改了主机文件夹的一些权限,直到挂载主机文件夹直接挂载为非root用户

 -v /var/lib/docker/volumes/builds/:/mnt/build 

我明白了

 [user@d5003c91f6d1 ~]$ ll /mnt total 4 drwxr-xr-x 2 user user 4096 Sep 18 19:29 build 

但如果我回到使用相同的命名卷

 -v builds:/mnt/build 

然后我得到

 [user@42f237282128 ~]$ ll /mnt total 4 drwxr-xr-x 2 root root 4096 Sep 18 19:29 build 

我问这个问题find一种方法来改变这一点