Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – 为什么Jenkins用户没有权限访问Docker unix套接字?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我已经将jenkins用户添加到docker组,认为它允许jenkins作业运行Docker命令.如果我切换到jenkins用户,我可以验证它是否有效(手动): ubuntu@hostname:~$ps aux | grep java jenkins 2210 9.5 7.5 1950316 292896 ? Sl 00:01 1:00 /usr/bin/java -ja
我已经将jenkins用户添加到docker组,认为它允许jenkins作业运行Docker命令.如果我切换到jenkins用户,我可以验证它是否有效(手动):
ubuntu@hostname:~$ps aux | grep java
jenkins   2210  9.5  7.5 1950316 292896 ?      Sl   00:01   1:00 /usr/bin/java -jar /data/jenkins/jenkins-1.586.war --httpPort=8080 -Xloggc:/var/log/jenkins/gc.log
ubuntu@hostname:~$getent group docker
docker:x:999:jenkins
ubuntu@hostname:~$ls -la /var/run/docker.*
-rw-r--r-- 1 root root   4 Oct 23 18:32 /var/run/docker.pid
srw-rw---- 1 root docker 0 Oct 23 18:32 /var/run/docker.sock
ubuntu@hostname:~$sudo su -s /bin/bash jenkins
jenkins@hostname:/home/ubuntu$docker ps
CONTAINER ID        IMAGE                      COMMAND                CREATED             STATUS              PORTS                     NAMES

但是,在jenkins构建/作业期间,它没有权限

# Job log
Started by user Matt Wright
Building on master in workspace /data/jenkins/jobs/docker-base-images-build/workspace
[ssh-agent] Using credentials CI-jenkins
[ssh-agent] Looking for ssh-agent implementation...
[ssh-agent]   Java/JNR ssh-agent
[ssh-agent] Started.
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url git@github.com:<redacted>/docker-base-images.git # timeout=10
Fetching upstream changes from git@github.com:<redacted>/docker-base-images.git
 > git --version # timeout=10
using GIT_SSH to set credentials 
 > git fetch --tags --progress git@github.com:<redacted>/docker-base-images.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 83c4463e7195b412a3a803dd7338210c1a772f55 (refs/remotes/origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 83c4463e7195b412a3a803dd7338210c1a772f55
 > git rev-list 83c4463e7195b412a3a803dd7338210c1a772f55 # timeout=10
[workspace] $/bin/sh -xe /tmp/hudson5606381166745886966.sh
+ ./build.sh
Sending build context to Docker daemon 
2014/10/24 16:14:18 Post http:///var/run/docker.sock/v1.15/build?rm=1&t=<redacted>%2Fpython%3A3.4: dial unix /var/run/docker.sock: permission denied
Build step 'Execute sHell' marked build as failure
[ssh-agent] Stopped.
Notifying upstream projects of job completion
Finished: FAILURE

这是Docker 1.3.0和Ubuntu 14.04.1.有什么线索吗?

@H_489_25@解决方法
我认为给jenkins组权限的docker unix socket解决了这个问题.可以通过添加此行在配置文件中配置docker守护程序启动选项来修改此问题
DOCKER_OPTS=' -G jenkins'

在ubuntu / etc / default / docker中是docker配置文件.

大佬总结

以上是大佬教程为你收集整理的linux – 为什么Jenkins用户没有权限访问Docker unix套接字?全部内容,希望文章能够帮你解决linux – 为什么Jenkins用户没有权限访问Docker unix套接字?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。