Docker:尝试连接到unix:/var/run/docker.sock上的Docker守护程序套接字时权限被拒绝

y3bcpkx1  于 2022-09-19  发布在  Docker
关注(0)|答案(2)|浏览(294)

我是新来码头的。我刚刚试着在我的本地机器(Ubuntu 16.04)上和Jenkins一起使用docker。

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

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

但它失败了,错误如下:

尝试连接到unix:/var/run/docker.sock上的Docker守护程序套接字时,权限被拒绝

u7up0aaq

u7up0aaq1#

如果使用Jenkins

需要将用户jenkins添加到组docker

sudo usermod -a -G docker jenkins

然后重启Jenkins。

否则

如果您因为从docker收到此消息而遇到堆栈溢出问题,但您没有使用Jenkins,则很可能错误是相同的:您的非特权用户不属于docker组。

您可以执行以下操作:

sudo usermod -a -G docker [user]

[user]所在的位置插入您的用户名。

您可以通过执行grep docker /etc/group来检查它是否成功,并看到如下所示:

docker:x:998:[user]

在其中一条线上。

然后将您的用户组ID更改为docker

newgrp docker

最后,注销并重新登录

8oomwypt

8oomwypt2#

我的第一个解决方案是:

usermod -aG docker jenkins
usermod -aG root jenkins
chmod 664 /var/run/docker.sock

但没有一个对我管用,我试过了:

chmod 777 /var/run/docker.sock

这是可行的,但我不知道这是不是正确的决定。

相关问题