Linux卷没有权限,linux – Docker主机安装的卷权限

在我们的内部测试环境中,我们从基于vSphere的服务器中配置CentOS VM.这些图像是带有包和相关配置的vanilla 7.1,以支持通过LDAP进行身份验证.我在xfs文件系统上安装了带有OverlayFS驱动程序的Docker 1.13.1.

FROM centos:7

RUN useradd dockeruser

USER dockeruser

VOLUME /data

在主持人:

mkdir data

echo "hello from host" > data/host-msg.txt

docker run -ti --rm -v $(pwd)/data:/data testimage bash

在容器内:

echo "hello from container" > /data/container-msg.txt

bash: /data/container-msg.txt: Permission denied

在容器中列出目录内容:

drwxr-xr-x 2 12345 13000 25 Feb 12 21:36 data

drwxr-xr-x 5 root root 360 Feb 12 21:36 dev

drwxr-xr-x 1 root root 62 Feb 12 21:36 etc

数据目录以uid / gid格式显示所有权,而不是username / groupname.

但.在我当地的Fedora 25开发系统中,我没有这种行为.我执行上面的过程,能够写入主机挂载/数据挂载,目录列表显示用户名/组名.

/

drwxrwxr-x 2 dockeruser dockeruser 4096 Feb 12 04:36 data

drwxr-xr-x 5 root root 360 Feb 12 22:00 dev

drwxr-xr-x 1 root root 4096 Feb 12 22:00 etc

/data

-rw-rw-r-- 1 dockeruser dockeruser 21 Feb 12 22:04 container-msg.txt

为了使一切尽可能与实验室配置相似,我通过libvirt在我的开发系统上建立了一个CentOS 7.1 VM,并再次得到了相同的结果 – 没有弄乱uid / gid映射,用户命名空间,什么都没有.从容器内部写入主机安装的卷Just Worked,开箱即用.

有什么可能解释这种行为?实验室VM上的LDAP是否以某种方式在文件系统级别引入权限问题?有什么具体的东西,我可以要求我们的运营团队检查或暂时禁用尝试解决此问题?

最后也许是最重要的一点,如果主机安装卷上的权限问题对于我来说在一个干净的CentOS或Fedora工作站上似乎根本不是问题那么为什么它仍然是Docker社区中的一个东西呢?这些设置中是否有一些配置与其他人使用的配置(包括我的团队的实验室虚拟机)根本不同,事情才有效?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值