我是码头工人的新手。我只是试着在我的本地机器(Ubuntu 16.04)上使用docker和Jenkins。

我用下面的管道脚本配置了一个新作业。

node {
    stage('Build') {
      docker.image('maven:3.3.3').inside {
        sh 'mvn --version'
      }
    }
}

但是它失败了,错误如下:

在unix:///var/run/ Docker .sock试图连接到Docker守护进程套接字时被拒绝


当前回答

如果有人在他们的本地机器(Ubuntu)上仍然面临这个问题,那么尝试下面的命令:

sudo chmod 666 /var/run/docker.sock

其他回答

我遇到的问题是,重新启动ubuntu服务器后,如果我通过sudo chmod 666 /var/run/docker.sock授予权限,docker将失去访问权限

因此,我需要通过:sudo usermod -aG docker ubuntu将我的用户名(ubuntu)添加到docker组

sudo usermod -a -G docker jenkins
sudo service jenkins restart

修改docker的访问权限。袜子文件

chmod 777 /var/run/docker.sock

也可以在命令的开头使用sudo。

Chmod 777将允许所有用户的所有操作,而Chmod 666将允许所有用户读和写,但不能执行文件。

在我的情况下,这将成功工作。 导航本地回购并输入此命令。

sudo chmod 666 /var/run/docker.sock

如果你在docker容器中运行Jenkins,而你的Jenkins链接到主docker,那么你可以通过下面的Dockerfile来修复这个问题:

FROM jenkins/jenkins:2.179
USER root
RUN groupadd docker && usermod -a -G docker jenkins
USER jenkins