使用用户命名空间时,是否可以使用从 docker 容器内的主机安装的 docker 套接字?
我有以下配置:
/etc/subuid
user:100000:65536
/etc/subgid
user:100000:65536
/etc/docker/daemon.json
{
"userns-remap": "ns-user"
}
我创建了 UID 为 100000 的用户 ns-user 和 GID 为 100000 的组 ns-user。另外,我已将 ns-user 添加到组 docker。当我在主机上以 ns-user 身份登录时,我可以通过套接字使用 docker。
问题是,当我运行安装了 docker 套接字的容器时,我的套接字权限被拒绝。docker容器内的套接字权限:
srw-rw---- 1 nobody nogroup 0 Jun 26 15:00 /var/run/docker.sock
编辑1:
为了澄清,我认为容器内的 root(uid 0)映射到主机上的 ns-user(uid 100000),该主机有权访问 docker socket。但实际上我得到的许可被拒绝。为什么?
我不想使用 --userns=host 参数。