当前位置: 首页 > 面试题库 >

Jenkins触发时如何解决Docker权限错误

严亦
2023-03-14
问题内容

我的Jenkins不在Docker容器中运行,只是传统安装到VPS。执行简单的测试项目时出现以下错误。我正在使用Ubuntu 14,java
7和稳定的Jenkins。我尝试了所有可以在Google上找到的方法,但无法正常工作。

我正在尝试执行此外壳

docker build --pull=true -t nick/hello-jenkins:$GIT_COMMIT .

代码更改后。

这是错误:

Got permission denied while trying to connect to the Docker daemon socket at unix: ....
Started by user nicolas xu
Building in workspace /var/lib/jenkins/workspace/hello-Jenkins
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://github.com/nicolasxu/hello-nick-jenkins.git # timeout=10
Fetching upstream changes from https://github.com/nicolasxu/hello-nick-jenkins.git
 > git --version # timeout=10
 > git fetch --tags --progress https://github.com/nicolasxu/hello-nick-jenkins.git +refs/heads/*:refs/remotes/origin/*
 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
 > git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision d94ae21a8a2cf58ffc790dcad15bd851fb17df5a (refs/remotes/origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f d94ae21a8a2cf58ffc790dcad15bd851fb17df5a
 > git rev-list d94ae21a8a2cf58ffc790dcad15bd851fb17df5a # timeout=10
[hello-Jenkins] $ /bin/sh -xe /tmp/hudson5076309502904684976.sh
+ docker build --pull=true -t nick/hello-jenkins:d94ae21a8a2cf58ffc790dcad15bd851fb17df5a .
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.27/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&pull=1&rm=1&shmsize=0&t=nick%2Fhello-jenkins%3Ad94ae21a8a2cf58ffc790dcad15bd851fb17df5a&ulimits=null: dial unix /var/run/docker.sock: connect: permission denied
Build step 'Execute shell' marked build as failure
Finished: FAILURE

我可以在控制台中以root身份运行“ docker”,这没问题,为什么jenkins无法尝试运行“
docker”的shell命令?到底是怎么回事?完全困惑.......


问题答案:

在VPS服务器终端中,执行以下操作以将您的jenkins用户添加到docker组:

sudo usermod -aG docker jenkins

然后重新启动您的jenkins服务器以刷新组。

考虑到这可能产生的任何安全问题:

警告:泊坞窗组授予与root用户等效的特权。有关这如何影响系统安全性的详细信息,请参阅Docker Daemon Attack Surface。

参考文档

编辑(由@iger提及):只需确保从命令行重新启动Jenkins(即sudo服务jenkins重新启动),但不要通过其余端点(http:///
restart)



 类似资料:
  • 问题内容: 当我将脚本上传到服务器时,出现此错误 警告:未知:打开(/ tmp / sess_58f54ee6a828f04116c2ed97664497b2,O_RDWR)失败:第0行的未知中的权限被拒绝(13) 警告:未知:无法写入会话数据(文件)。请在第0行的Unknown中验证session.save_path的当前设置正确(/ tmp) 尽管我将/ tmp文件夹的权限设置为777,但在我

  • 更新: 在终端中,我看到这个文件有“-rw-r--r--”。我需要运行什么命令才能将其更改为正确的权限? 我在试着逃跑 我不断得到如下错误: 我在why babel商店试着跟进。巴贝尔。USERPROFILE路径中的json,但我不知道如何使用它来解决我的问题,因为我是新手。如何解决这个问题,有什么建议吗?

  • 本文向大家介绍MYSQL设置触发器权限问题的解决方法,包括了MYSQL设置触发器权限问题的解决方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了MYSQL设置触发器权限的方法,针对权限错误的情况非常实用。具体分析如下: mysql导入数据提示没有SUPER Privilege权限处理,如下所示: 导入function 、 trigger 到 MySQL database,报错: 原因:

  • 问题内容: 当我尝试安装pyrebase时,出现此错误消息。 PermissionError:[Errno 13]权限被拒绝:/Users/myname/anaconda/lib/python3.6/site- packages/google/api 我能做什么? 问题答案: 使用了Linux或Windows上运行命令提示符管理员

  • 问题内容: 我在用于CI的docker设置中有一个docker。本质上,该机器上装有jenkins CI服务器,该服务器使用相同的机器docker套接字为CI创建节点。 直到我最近更新了docker为止,这一直很好。我已经确定了问题,但似乎无法找出正确的方法来使它起作用。 这就是我的猜测。我可以从容器中访问主机docker套接字,但似乎无法授予jenkins用户许可。 我已经添加了docker组,

  • 我在CI的docker设置中有一个docker。本质上,机器上有一个jenkins CI服务器,它使用相同的机器docker套接字为CI创建节点。 这是伟大的工作,直到我最近更新了docker。我已经发现了这个问题,但是我似乎找不出正确的方法来让它工作。 这就是我的猜测。我可以从容器中访问主机docker套接字,但我似乎无法向jenkins用户授予权限。 我已经添加了docker组,还将jenki