我想确保我的 docker 容器中的任何用户始终映射到我的 docker 主机上的特定用户。我试过使用这个参考https://stackoverflow.com/a/35854547/1020678
中的用户名/etc/subuid
似乎被严格用作映射到值的键:<start id>:<range>
,但除此之外它似乎没有任何用途..
真正让我困惑的是用户的需求/etc/subuid
,当这个用户在 docker 容器中安装卷时似乎没有写入文件系统的权限。
遵循链接中的示例后,我以用户身份执行以下操作ns1
:
$ mkdir test && docker run -ti -v $(pwd)/test:/tmp alpine touch /tmp/foobar
返回:touch: /tmp/foobar: Permission denied
似乎用户ns1
没有任何好处--userns-remap=ns1
,那么为什么在为ns1-root
and启用用户命名空间时需要这个用户ns1-user1
?当权限设置正确时,这些用户可以写入 docker 卷,但为什么不ns1
呢?
/etc/subuid
是否有可能实现我的目标,或者我是否必须使用起始 ID 的偏移量(在我链接到的示例中为 500000)明确定义容器内外的所有用户/组?