subuid 和 subgid 映射未映射根用户/组 (UID/GID 0)

subuid 和 subgid 映射未映射根用户/组 (UID/GID 0)

我开始在以下位置运行 Docker 20.10.14无根模式在 Linux Mint 20(基于 Ubuntu 20.04)上。我dockerd为此创建了一个名为UID 127 (组为dockerdGID 139)的用户,并将以下内容添加/etc/subuid/etc/subgid

dockerd:200000:65536

现在,在该用户运行的 Docker 容器内,dockerd我在主机文件系统上创建一个文件(通过绑定安装的目录)。

  • 如果我在容器中将其创建为 UID 1000,它将映射到主机上的用户 200999。
  • 如果我daemon在容器中将其创建为 UID 1(用户),则它在主机上的 UID 为 200000。
  • 如果我在容器中将其创建为 UID 0(用户root),则它在主机上的 UID 为 127。

因此,子 UID/子 GID 绑定似乎是“基于 1”的,并且不包括 UID 0。这是它应该如何工作的还是我做错了什么?难道我不应该能够将容器中的 root 用户映射到我在主机上选择的 UID 吗?如果是这样,我该怎么做?

https://unix.stackexchange.com/a/397168/107961

dockremap:165536:65536

165536 是启动 UID 映射的系统 UID(容器中的 UID 0)

...这听起来像是映射中的第一个 UID应该映射到 UID 0,但这不是我所看到的。

nobody另一个奇怪的事情是,主机上 UID 0 的文件所有者由容器中的UID 65534 ( ) 拥有。这应该发生吗?

相关内容