Вызов docker-контейнера из jenkins (в сокете запрещены разрешения)
Я пытаюсь запустить образ Docker из конвейера Jenkins, но получаю следующую распространенную ошибку разрешения:
[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'.
Я заметил, что этот сокет принадлежит группе демонов:
$ ls -la /var/run/docker.sock
lrwxrwxrwx 1 root daemon 61 May 24 15:50 /var/run/docker.sock -> /Users/pmaugeri/Library/Containers/com.docker.docker/Data/s60
Обратите внимание, что в моей системе нет группы докеров.
Поэтому я попытался добавить пользователя 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
- Версия докера: 18.03.1-ce, сборка 9ee9f40