Jenkins 2.46.2。
Ubuntu 14.04
Jenkins 正在使用用户 www-data
。
[test] $ /bin/sh -xe /tmp/hudson7967754688382064194.sh
+ whoami
www-data
Finished: SUCCESS
当我通过 ssh 进入实例并切换到用户 www-data
并检查它属于哪些组时,我可以看到 docker
组。
$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data),998(docker)
当我通过运行 Jenkins 作业检查用户属于哪些组时,我看不到 docker
。
sh("id")
//output:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
因此我无法执行 docker 命令。为什么在这种情况下缺少这个组?
最佳答案
如果您使用 Apt 将 Jenkins 安装为服务,则 Jenkins 将作为 jenkins 用户运行。执行以下操作:
$usermod -a -G docker jenkins
关于ubuntu - 当 Jenkins 作业运行时, Jenkins 使用的用户不属于组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46155532/