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