CentOS7.4中配置docker user namespace
1,安裝docker
yum install docker
2,以用戶shannyn(uid:1000,gid:1000)為例配置docker user namespace,在/etc/docker/daemon.json中,輸入下面內容:
{
"userns-remap": "shannyn"
}
3,需要把host的uid和gid跟docker容器內的uid、gid做一個對應:
echo "shannyn:1000:65536" >> /etc/subuid
echo "shannyn:1000:65536" >> /etc/subuid
意思是容器內id為0的用戶,將會映射到host上id為1000的用戶,后面65536個用戶也會跟着做映射。
4,把shannyn用戶加入到docker群組里:
sudo usermod -aG docker shannyn
4,CentOS7的kernel默認關閉了user namespace,需要重新打開
grubby --args="namespace.unpriv_enable=1 user_namespace.enable=1" --update-kernel="$(grubby --default-kernel)"
echo "user.max_user_namespaces=15076" >> /etc/sysctl.conf
reboot
5,啟動docker
systemctl start docker
6,檢查容器用戶是否映射成功