【发布时间】:2021-03-16 16:31:32
【问题描述】:
问题:附加到 Linux 用户的组在容器内不可见。
工作流程:
- 创建了一个 docker 镜像,其中创建了一个名为
sample:sample(8000:8000)的user和group。 - 使用相同的 docker 映像创建了一个容器,并使用
readOnly访问权限装载了/etc/passwd文件。
Command: docker run -itd --user "8000:8000" -v /etc/passwd:/etc/passwd:ro docker_image_name:latest bash
注意:用户和组 sample:sample(8000:8000) 也存在于主机上。
- 使用示例用户附加的组是 sample 和 docker,在主机上使用 groups 命令检查。
- 在容器中执行并触发以下命令,
Command 1: whoami
Output: sample
Command 2: id -u
Output: 8000
Command 3: id -g
Output: 8000
Command 4: groups
Output: sample
观察:
- 正如我们所见,在容器中,附加到示例用户的组只是示例,而 docker 缺失。
预期行为: 由于示例用户存在于主机和容器上,我希望与容器内的主机用户关联的组也一样,即我希望主机用户的详细信息覆盖容器中存在的那些。
【问题讨论】:
-
也许你可以尝试挂载/etc/group。
-
关于补充用户组成员的信息存储在
/etc/group。正如 Philippe 建议的那样,您还需要映射它。
标签: linux docker usergroups