/etc/subuid 的内容在docker上下文中是什么意思

Gil*_*esz 14 docker

我的/etc/subuid文件包含:

...
dockremap:165536:65536
Run Code Online (Sandbox Code Playgroud)

我不明白这dockremap行是什么意思,请解释一下。

我已经运行了一个 dockerdockerd --userns-remap=default来使用用户命名空间

Mat*_*att 16

下属UID文件包含用户可冒充用户和用户ID的列表。

在示例中:

dockremap:165536:65536
Run Code Online (Sandbox Code Playgroud)

dockremap是系统用户的名称。这也可以是 UID。

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

65536是允许在 UID 0 之上映射的 UID 的数量。所以 165536 + 65536 = 231072 将是映射到dockremap用户的最高 UID 。

在 Docker 术语中,dockremap是当您指定--userns=dockremap. 容器中的 UID 0 将是系统上的 UID 165536。容器中的 UID 1 将是 165537 等。

  • 因此,这意味着如果 docker 不使用用户命名空间,那么容器中的 UID 0 将是系统上的 UID 0。那么,容器中的 root (uid=0) 就是系统上的 root,是吗? (2认同)