【问题标题】:unable to invoke DOCKER using JENKINS user无法使用 JENKINS 用户调用 DOCKER
【发布时间】:2019-05-21 12:44:53
【问题描述】:

我正在尝试使用 shell 运行 docker 命令作为 jenkins 作业的一部分。我收到一个标准错误说明 “在尝试连接到 unix:///var/run/docker.sock 的 Docker 守护进程套接字时获得权限被拒绝:获取 http://%2Fvar%2Frun%2Fdocker.sock/v1.39/images/json:拨打 unix /var/run/docker.sock:连接:权限被拒绝”

我需要一些帮助 1.如何找到安装docker的路径可以添加到JENKINS全局配置中 2. 解决此权限问题的解决方法(以 sudo 用户/任何其他特定用户身份运行)

我已经尝试过将 JENKINS 用户添加到管理员组、员工组、设置为管理员。但是,实际上没有任何帮助。我仍然得到标准错误

在终端上也试过下面的代码 sudo -u jenkins docker 图片

输出: 尝试在 unix:///var/run/docker.sock 连接到 Docker 守护进程套接字时获得权限被拒绝:获取 http://%2Fvar%2Frun%2Fdocker.sock/v1.39/images/json:拨打 unix /var/run/docker.sock:连接:权限被拒绝

我希望在没有错误的情况下运行此代码。只有这样我的詹金斯管道才会完成。

【问题讨论】:

    标签: macos shell docker jenkins


    【解决方案1】:
    1. 要查找安装 docker 的路径,只需运行 which docker。通常,它已经安装在标准 PATH 中的某个位置,所以可能 Jenkins 已经可以访问了。当您收到权限被拒绝错误消息时,Jenkins 似乎已经在使用正确的 docker 可执行文件。

    2. 根据您使用的发行版或操作系统,您很可能需要将 jenkins 用户添加到 docker 组,例如sudo usermod -aG docker jenkins。要找出您需要哪个组,请运行:

      $ ls -l /var/run/docker.sock
      srw-rw---- 1 root docker 0 Apr 30 16:20 /var/run/docker.sock
      

      在第二行中,您会看到 docker.sock 所属的组。将 jenkins 用户添加到该组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 2019-01-14
      • 1970-01-01
      • 2017-03-29
      • 2023-03-27
      • 1970-01-01
      • 2016-12-10
      相关资源
      最近更新 更多