Macos 从jenkins调用docker容器(套接字上的权限被拒绝)
我正在尝试从Jenkins管道运行Docker映像,但遇到以下常见权限错误:Macos 从jenkins调用docker容器(套接字上的权限被拒绝),macos,docker,jenkins,docker-for-mac,Macos,Docker,Jenkins,Docker For Mac,我正在尝试从Jenkins管道运行Docker映像,但遇到以下常见权限错误: [devops-lab] Running shell script + docker run -d --mount source=devops-lab,target=/root/data pmaugeri/alpine-akamai-cli docker: Got permission denied while trying to connect to the Docker daemon socket at unix:
[devops-lab] Running shell script
+ docker run -d --mount source=devops-lab,target=/root/data pmaugeri/alpine-akamai-cli
docker: 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.37/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
我注意到这个套接字属于守护进程组:
请注意,我的系统上没有docker组
因此,我尝试将jenkins用户添加到守护进程组中,但没有解决这个问题
以下是我的管道的定义:
node {
sh 'env > env.txt'
for (String i : readFile('env.txt').split("\r?\n")) {
println i
}
sh 'whoami'
docker.image('pmaugeri/alpine-akamai-cli').withRun('--mount source=devops-lab,target=/root/data') {
}
}
这是jenkins控制台的输出:
...
[devops-lab] Running shell script
+ whoami
jenkins
[Pipeline] sh
[devops-lab] Running shell script
+ docker run -d --mount source=devops-lab,target=/root/data pmaugeri/alpine-akamai-cli
docker: 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.37/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
你能帮我让这个简单的管道工作吗
提前谢谢
帕斯卡
以下是我的系统配置:
- MacOS:MacOS Sierra v10.12.6
- 詹金斯版本:2.122
- Docker版本:18.03.1-ce,构建9ee9f40
...
[devops-lab] Running shell script
+ whoami
jenkins
[Pipeline] sh
[devops-lab] Running shell script
+ docker run -d --mount source=devops-lab,target=/root/data pmaugeri/alpine-akamai-cli
docker: 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.37/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.