构建自动化,需要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组)