Jenkins 执行Docker build错误:Got permission denied while trying to connect to the Docker daemon...

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构建则成功构建 

Jenkins 执行Docker build错误:Got permission denied while trying to connect to the Docker daemon..._第1张图片

你可能感兴趣的:(持续集成与发布(CI/CD),Docker容器,jenkins,docker,运维)