通过Jenkins进行构建时,尝试连接到Docker守护进程套接字时权限被拒绝

时间:2019-05-21 09:58:12

标签: docker jenkins docker-image

嗨……我正在Windows操作系统上运行我的詹金斯工作。我正在AWS-ubuntu 18.07服务器中的从属节点上构建war文件。我的Docker安装在我的从节点上。我的Docker文件在工作区中。但是在构建图像时,我面临错误:

我已经将我的从节点用户添加到Docker组和从节点工作区(ubuntu服务器)中,我能够创建相同的映像,而无需使用sudo。

docker build -t swagats/helloimage .

但是我仍然面临詹金斯的错误。请帮助我。

[slaveAnsibleDocker] $ docker build -t swagats/helloimage --pull=true /home/ubuntu/workspace/slaveAnsibleDocker Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.39/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&pull=1&rm=1&session=utpwhi2ue7xox69p9mibabkb7&shmsize=0&t=swagats%2Fhelloimage&target=&ulimits=null&version=1: dial unix /var/run/docker.sock: connect: permission denied Build step ‘Docker Build and Publish’ marked build as failure

Finished: FAILURE

1 个答案:

答案 0 :(得分:0)

您必须为jenkis本身提供根凭据 jenkins是一个单独的用户,因为它是一个Web服务器权限,并且您通过jenkins执行的所有命令都将以用户jenkins的身份执行,因此您需要做的是创建一个新的docker组并添加您的用户;您要执行的用户
类似于您必须将jenkins用户添加到docker组,并且应该为docker组赋予root访问权限
因此,就其对系统的访问而言,泊坞窗组基本上与root相当。 因此这是您需要执行的重要步骤,因为否则,如果您未启用此访问权限,则您的命令将要执行,并且会显示失败权限被拒绝