Чтобы решить эту проблему, я прочитал Как настроить Jenkins под macOS с доступом к демону Docker , что --group-add docker
может помочь.
Итак, во время работы docker run
с --group-add docker
Я увижу следующую ошибку.
Примечание: без --group-add docker
работает нормально, но в конвейере Jenkins видны другие ошибки прав доступа.
$ docker run -p 8080:8080 -p 50000:50000 -v /var/run/docker.sock:/var/run/docker.sock --name myjenkins2 jenkins/jenkins:2.89.4 --group-add docker
Running from: /usr/share/jenkins/jenkins.war
webroot: EnvVars.masterEnvVars.get("JENKINS_HOME")
Mar 11, 2019 9:37:35 PM Main deleteWinstoneTempContents
WARNING: Failed to delete the temporary Winstone file /tmp/winstone/jenkins.war
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at Main._main(Main.java:294)
at Main.main(Main.java:132)
Caused by: java.lang.IllegalArgumentException: Unrecognized option: --group-add
at winstone.cmdline.CmdLineParser.parse(CmdLineParser.java:53)
at winstone.Launcher.getArgsFromCommandLine(Launcher.java:363)
at winstone.Launcher.main(Launcher.java:334)
... 6 more
Справочная информация:
Я пытался устранить следующую ошибку, возникающую при выполнении команды докера внутри Jenkins Pipeline
+ whoami
jenkins
[Pipeline] sh
+ docker ps
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/json: dial unix /var/run/docker.sock: connect: permission denied