root用户拥有的文件的Docker权限被拒绝(MacOS)

时间:2018-10-24 19:10:45

标签: macos docker docker-machine

MacOS High Sierra版本10.13.5

Docker for Mac Communit Edition,版本18.06.1-ce-mac73(26764)

我正在学习Docker In Action一书中的示例,以演示共享的用户ID空间。这是设置:

$ echo "ssddkkjj" > garbage
$ chmod 600 garbage
$ sudo chown root:wheel garbage

据说,被监禁的(容器)根应具有与主机root相同的访问权限。但就我而言,事实并非如此,因为容器root无法访问主机root拥有的文件:

$ docker container run --rm -v "$(pwd)"/garbage:/test/garbage -u root ubuntu:latest cat /test/garbage
cat: /test/garbage: Permission denied

更多实验表明,被监禁的根与主机根不同,因为被监禁的根不被视为ownergroup,而是被视为other

$ sudo chmod 600 garbage
$ docker container run --rm -v "$(pwd)"/garbage:/test/garbage --user=root ubuntu:latest cat  /test/garbage
cat: /test/garbage: Permission denied

$ sudo chmod 060 garbage
$ docker container run --rm -v "$(pwd)"/garbage:/test/garbage --user=root ubuntu:latest cat  /test/garbage
cat: /test/garbage: Permission denied

$ sudo chmod 006 garbage
$ docker container run --rm -v "$(pwd)"/garbage:/test/garbage --user=root ubuntu:latest cat  /test/garbage
ssddkkjj

是由于docker机器在MacOS上运行吗?还是设计使然?有任何解释这种行为的文档吗?

0 个答案:

没有答案