Jenkins 不是从使用"--group-add docker"开始的



要解决这个问题,我阅读了如何在MacOS下设置Jenkins,并使用Docker守护程序访问--group-add docker可能会有所帮助。

因此,在使用--group-add docker运行docker run时,我将看到以下错误。

注意:如果没有--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

背景:

我试图解决詹金斯管道内运行docker命令时看到的以下错误

+ 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

尝试:

docker run -p 8080:8080 -p 50000:50000 -v /var/run/docker.sock:/var/run/docker.sock  --group-add docker --name myjenkins2 jenkins/jenkins:2.89.4

最新更新