普通用户jenkins执行docker,linux用户添加到多个组

构建自动化,需要jenkins用户构建docker,执行报错,按照下图操作,给jenkins添加多一个组docker即可。

普通用户jenkins下执行docker命令报错没有权限,root用户下可以。

jenkins@saas:~$ docker images    
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/json: dial unix /var/run/docker.sock: connect: permission denied
jenkins@saas:~$ groups
jenkins
jenkins@saas:~$ exit
root@saas:# docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
root@saas# groups
root
root@saas# usermod -a -G jenkins,docker jenkins ###添加jenkins多一个组,
root@saas# groups jenkins
jenkins : jenkins docker
root@saas# su jenkins
jenkins@saas:~$
jenkins@saas:~$
jenkins@saas:~$ docker images   ###已经可以正常执行docker
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
jenkins@saas:~$

 

linux用户添加到多个组

 

usermod -G groupname username (这种会把用户从其他组中去掉,只属于该组)
如:usermod -G git git (git只属于git组)

usermod -a -G groupname username (把用户添加到这个组,之前所属组不影响)
如:usermod -a -G www git (git属于之前git组,也属于www组)

专业从事搬砖多年,还是在继续搬砖中,厚积薄发~
原文地址:https://www.cnblogs.com/Crazy-Liu/p/14783902.html