0

我刚刚在 jenkins 设置中运行了 Dockerfile,然后我收到以下错误:

尝试在 unix:///var/run/docker.sock 连接到 Docker 守护程序套接字时获得权限被拒绝:发布 http://%2Fvar%2Frun%2Fdocker.sock/v1.40/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&rm=1&session=2quv9npfhvxjco1lqvt8aea9h&shmlimits=0&t=testfile&target unixlimit=0&t=testfile& var/run/docker.sock:连接:权限被拒绝。.. Dockerfile WebApp.war SSH:EXEC:404 毫秒后完成 SSH:断开配置 [Docker] ... SSH:传输 1 个文件完成:成功

4

1 回答 1

0

docker.deamon 告诉我们:

Docker 守护进程绑定到 Unix 套接字而不是 TCP 端口。默认情况下,Unix 套接字由用户 root 拥有,其他用户只能使用 sudo 访问它。Docker 守护程序始终以 root 用户身份运行。

如果您不想在 docker 命令前加上 sudo,请创建一个名为 docker 的 Unix 组并将用户添加到其中。当 Docker 守护进程启动时,它会创建一个可供 docker 组成员访问的 Unix 套接字。

Check if the docker group already exists:
cat /etc/group | grep docker

if it doesn't, create with this command:
sudo groupadd docker

add the jenkins user to docker group:
sudo usermod -a -G docker jenkins-user
newgrp docker

Check if is it worked...
$ cat /etc/group | grep docker
docker:x:***:jenkins-user

Restart the jenkins

logout, and login again

或者您可以尝试使用 sudo 运行 docker。

于 2020-09-15T17:51:51.947 回答