UID/GID 映射
无 root 模式和 userns-remap 模式 将容器 UID 和 GID 映射到主机的方式不同。
- 在
userns-remap模式下,容器的 UID0被映射到/etc/subuid中为 remap 用户列出的第一个从属 UID,容器的 UIDn被映射到subuid + n。 - 在无 root 模式下,容器的 UID
0被映射到运行无 root Docker 的主机用户的 UID(即id -u的结果);容器的 UIDn(对于n >= 1)被映射到subuid + (n - 1)。
GID 遵循相同的规则,使用 /etc/subgid。
这一差异在设置 bind 挂载目录的文件权限时很重要:在无 root 模式下,由你的主机用户拥有的文件在容器内显示为 root 所有。