如何使用普通用户管理docker?
2020年04月22日
首先,比”如何使用普通用户管理docker“更重要的问题是:”为什么要使用普通用户管理docker“?
- 使用普通用户登录服务器执行管理操作才是符合运维规范的,而不是给所有人都授予root权限,这有利于权限管理的标准化。
- 恶意破坏很难避免,但是要尽量不让用户做傻事,虽然普通用户进入docker之后,可以拥有root身份,但是这是恶意操作,避免的难度太高。
接下来就是怎么让普通用户也能使用docker的配置步骤了。
让普通用户能用docker最重要的就是让普通用户具备访问 /var/run/docker.sock
文件的权限。比较标准的做法是
- 确保docker用户组的存在
- 把需要使用docker的普通用户加入docker用户组。
- 确保 docker 组对 /var/run/docker.sock 文件有读写权限。
一、首先保证存在docker用户组
# grep docker /etc/group || groupadd docker
二、把普通用户加入docker用户组
# usermod -aG docker <your account name>
三、确保docker组对 /var/run/docker.sock
文件有读写权限
# chown :docker /var/run/docker.sock
# chmod g+rw /var/run/docker.sock
这样基本就大功告成了,这是可以切换到普通用户,然后执行 docker ps
等命令试试看。
附一下 Ubuntu 和 CentOS 的区别:
- CentOS中,安装docker之后是没有docker组的,只要按照上面的三个步骤执行就可以了。
- 在Ubuntu上,安装好docker之后一般就有docker组了, 而且docker组对 /var/run/docker.sock 文件默认就有读写权限。
但是,在ubuntu上有一点要注意的是,当你把普通用户加入到docker组之后,普通用户并不是立刻就具备了docker组的权限,你此时使用 groups
命令查看,甚至普通用户都不在docker组里,这是有两种方案,临时方案是,使用newgrp
命令切换到docker组的角色,例如:
$ newgrp docker # 用普通用户执行即可
第二种方案是重新使用普通用户登录系统,也是可以获得docker组权限的。
当前暂无评论 »