Lucent's Blog

当时明月在 曾照彩云归

人生不相见,动如参与商。

6LCi5Y2O5qKFLOaIkeaDs+S9oOS6hg==


Docker 用户映射

目的:将系统用户映射到docker容器里,使其不再使用root权限

一、修改daemon.json

添加userns-remap,如果你想指定特定用户可以把default修改为系统用户,如果为default就代表用户分配的权利交给default自动完成。

{
    "userns-remap": "default"
}

二、刷新配置

systemctl daemon-reload && systemctl restart docker

三、验证生效

此时系统会自动创建dockremap这个用户,uid:100000,gid:65536

[root@VM-0-15-centos ~]# cat /etc/subuid
 dockremap:100000:65536
[root@VM-0-15-centos ~]# cat /etc/subgid
 dockremap:100000:65536

四、修改内核参数max_user_namespaces

默认这个参数的值为0,是不允许用用户名称空间的,现在我们给他开启起来,具体的值需要根据上面查到的uid而定

sysctl -w user.max_user_namespaces=uid

五、可能遇到的问题

在RHEL 7.5版本,上面第二步在dockerd启动的时候会报错"Can't create ID mappings: %!v(MISSING): No subuid ranges found for user "dockremap"",查询之后判断应该是系统BUG,可以看看Redhat官网的Bug说明Bug-1546870,它会在系统中建立dockremap账号然后使用usermod -v参数来设置dockermap用户的ID范围,但是在Centos 7.5版本的usermod命里没有-v参数。这就意味着RHEL 7.5不支持动态添加subid。所以我们只能手动来做,不过据说其他发行版可以支持比如Ubantu或者Fedora。

使用下面命令手动设置

# uid根据情况而定
echo "dockremap:100000:65536" > /etc/subuid
echo "dockremap:100000:65536" > /etc/subgid

设置好之后再从第二步开始执行即可

上一篇

1.准备工作所有兑换以及购买均在港区完成,裸连,不需要梯子。在账户当前无xgpu的状态下把个人资料里的地区改为香港每次兑换金会员季卡时,如果绑定了付款方式并勾选自动续费,会额外赠送1个月会员。港区可以绑visa/ma/ae外币卡,没有的去注册一个国区paypal再绑,国区paypal支持国内银联储蓄…

阅读
下一篇

在nacos服务注册时,发现注册的服务全是容器虚拟IP,并不是可以通讯的内网IP。…

阅读