ubuntu - 当 Jenkins 作业运行时, Jenkins 使用的用户不属于组

标签 ubuntu jenkins

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/

相关文章:

gcc - 在 Ubuntu 9.04 上安装 gcc 4.4.3

python - 如何使用 Python 在我的第二台显示器(ubuntu 系统)上全屏显示图像

c - 使用unix域套接字并共享fd

java - 在 Jenkins CI 中测试期间在 tomcat 中运行 Web 应用程序

jenkins - 你如何强制 Jenkins Ansible 插件设置日志级别

linux - 保持进程在容器上运行的正确方法

c++ - Ubuntu 将可执行文件识别为共享库,并且不会通过单击来运行它

java - 所选目录不是 JDK 的有效主目录 - Ubuntu 上的 Intellij IDEA

jenkins - 在 Jenkins 中识别向 RTC 交付变更集的人员

jenkins - 使用.NET Core使用xunit生成结果报告测试