内核使用的是 uid 和 gid,而不是用户名和组名。
内核控制的 uid 和 gid 则仍然只有一套。所以同一个 uid 在宿主机和容器中代表的是同一个用户(即便在不同的地方显示了不同的用户名)。
》,你需要注意的是到目前为止,docker 默认并没有启用 user namesapce,这也是本文讨论的情况。笔者会在接下来的文章中介绍如何配置 docker 启用 user namespace。
$ docker run -d --name sleepme ubuntu infinity
$ aux |
容器内的 root 用户和宿主机上的 root 用户是同一个吗?
$ docker run -- -it -=/testv -v $()/testv:/testv ubuntu
-r -u -,]
$ docker build -t test .
$ docker run -d --name sleepme test
$ docker exec -it sleepme bash
$ docker run -d --name sleepme -=/testv -v $()/testv:/testv test
在容器中 testfile 的所有者居然变成了 appuser,当然 appuser 也就有权限读写该文件。
$ docker run -d --user --name sleepme ubuntu infinity
$ docker exec -it sleepme bash
$ docker run -d test
$ docker run --user -d test