2

我想确保我的 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-rootand启用用户命名空间时需要这个用户ns1-user1?当权限设置正确时,这些用户可以写入 docker 卷,但为什么不ns1呢?

/etc/subuid是否有可能实现我的目标,或者我是否必须使用起始 ID 的偏移量(在我链接到的示例中为 500000)明确定义容器内外的所有用户/组?

4

0 回答 0