我在主机上安装了 gluster 卷并尝试运行命名空间下的 docker容器与主机上的 gluster 安装进行绑定安装。
似乎 glusterfs 绑定挂载的用户命名空间处理不正确。我的问题是容器内的 root 用户无权更改绑定挂载内文件的所有权或触摸其他用户拥有的文件。
测试设置
host# mount -t glusterfs glusterhost:/glustervol /mnt/gluster
host# docker run -it -v /mnt/gluster/test:/mnt/test alpine sh
container# touch /mnt/test/foo
container# chown nobody /mnt/test/foo
chown: /mnt/test/foo: Operation not permitted
container# chmod a+w /mnt/test
container# adduser -D test
container# su test
container$ touch /mnt/test/bar
container$ exit
container# touch /mnt/test/bar
touch: /mnt/test/bar: Permission denied
如果我对 gluster 卷以外的其他卷的 docker bind mount 执行相同操作,一切都会按预期工作。
有没有办法让具有用户命名空间重新映射的 docker 与 glusterfs 一起工作?