我正在尝试使用自docker 1.9以来的新命名卷。它们应该取代仅数据容器。然而,我在以下用例中难以使用命名卷:
我有几个容器以某个非root用户(称为appuser)运行应用程序。我在我派生所有应用程序容器映像的基映像中修复了uid和gid。每个应用程序将日志文件写入由appuser拥有的文件夹。然后,我设置了一个仅数据容器,从同一基映像派生。使用volumes-from指令,我挂载此仅数据容器以存储我的日志文件。这有效是因为uid已固定。
相反,如果我尝试使用命名卷,则应用程序无法写入其日志文件,因为命名卷由某个依赖于卷驱动程序(我的情况下为“local”驱动程序的xfs用户)的用户拥有。是否可能使用正确的权限在命名卷中创建日志文件夹?
或更一般地说,如果挂载命名卷的容器中的应用程序以非root用户身份运行,则命名卷有用吗?从上面我刚描述的内容来看,这样的应用程序将无法写入或创建命名卷中的任何文件夹。