首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Centos和MacOS的Docker卷挂载权限策略不同

Centos和MacOS的Docker卷挂载权限策略不同
EN

Stack Overflow用户
提问于 2019-02-26 21:46:52
回答 1查看 160关注 0票数 0

我花了一整天的时间定位问题,并在Github中最小化问题。

当我将主机文件挂载到docker容器,并进入docker容器,然后运行ls -lash查看文件权限。挂载后,权限为Dockerfile创建的user所拥有的容器中的MacOS文件,而权限为Dockerfile创建的容器中的Centos文件。它在MacOS和Centos7.6之间相同的docker引擎版本(18.09.2)上测试。

代码语言:javascript
复制
docker-problem git:(master) ✗ docker run -it -v $PWD:/home/level docker/test bash 
flaskuser@59aeaacf0f4b:/home/level$ ls -lash
total 8.0K
   0 drwxr-xr-x  4 flaskuser flaskgroup  128 Feb 25 19:24 .
4.0K drwxr-xr-x  1 flaskuser flaskgroup 4.0K Feb 25 19:21 ..
   0 drwxr-xr-x 15 flaskuser flaskgroup  480 Feb 25 19:27 .git
4.0K -rw-r--r--  1 flaskuser flaskgroup  382 Feb 26 11:21 Dockerfile
代码语言:javascript
复制
[root@vultr docker-problem]# docker run -it -v $PWD/:/home/level/ docker/test bash
flaskuser@c843984693a5:/home/level$ ls -lash
total 16K
4.0K drwxr-xr-x 3 root      root       4.0K Feb 26 11:29 .
4.0K drwxr-xr-x 1 flaskuser flaskgroup 4.0K Feb 26 13:14 ..
4.0K drwxr-xr-x 8 root      root       4.0K Feb 26 11:29 .git
4.0K -rw-r--r-- 1 root      root        284 Feb 26 11:29 Dockerfile

是docker中的bug吗?

Test in MacOs

Test in Centos7.6

Github Link

EN

回答 1

Stack Overflow用户

发布于 2019-02-27 00:45:33

主机卷将拥有传递到容器中的主机的所有权和权限。这是由uid/gid在文件系统级别完成的,而不是通过用户名或组名完成的,这些名称在容器和主机之间可能会有所不同。

较新版本的Docker for Mac附带了一个OSXFS驱动程序,可以将Mac文件系统挂载到嵌入式Linux VM中,并自动将Linux用户映射到Mac uid。这有点像NFS压缩uid,但要动态得多。有关OSXFS的更多信息,请访问:https://docs.docker.com/docker-for-mac/osxfs/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54886956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档