ERROR: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/_ping": dial unix /var/run/docker.sock: connect: permission denied
使用jenkins 通过执行docker 构建docker镜像时报错如上,提示没有权限。默认Jenkins执行构建时使用jenkins用户,用户组也是jenkins。
解决方法:需要将jenkins用户加入到docker用户组
1,查看docker用户组的用户
Jenkins服务器安装docker会自动创建docker用户组
如果没有docker用户组,先创建用户组:
groupadd docker
添加jenkins用户到用户组:
sudo usermod -a -G docker jenkins
-a<追加> 必须与-G选项一起使用,把用户追加到某些组中。
-G<群组> 修改用户所属的附加群组。
2,查看jenkins用户所在用户组
[root@cdp03 ~]# groups jenkins
jenkins : jenkins docker
可以看到jenkins用户属于用户组jenkins和docker,说明已经成功加入到docker用户组
执行后仍然报错,同样的错误,需要修改/var/run/docker.sock文件的权限
3,修改/var/run/docker.sock文件的权限
cd /var/run/
chmod 777 docker.sock
再次执行Jenkins构建则成功构建