zoukankan      html  css  js  c++  java
  • Jenkins job docker 没有权限

    问题描述

    基于docker使用jenkins 构建cicd,在执行docker build 的时候出现了权限的问题。具体报错如下
    + REPOSITORY=10.0.0.100/library/wenlong:master
    + cat
    + docker build -t 10.0.0.100/library/wenlong:master .
    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.40/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&rm=1&session=espgntl9dcqvfkpmkadffphrz&shmsize=0&t=10.0.0.100%2Flibrary%2Fwenlong%3Amaster&target=&ulimits=null&version=1: dial unix /var/run/docker.sock: connect: permission denied
     

    原因

    docker进程使用Unix Socket而不是TCP端口。而默认情况下,Unix socket属于root用户,需要root权限才能访问。
    这样的话 我们就需要用root去运行docker 而在我们安装的时候就已经是root运行了,所以问题出现在jenkins身上。

    解决方法

    修改jenkins 用户权限
    我是rpm安装的jenkins,所以你要找到你的jenkins配置文件。
    [root@docker-jenkins wenlong]# find / -name "jenkins"
    /run/lock/subsys/jenkins
    /etc/sysconfig/jenkins
    /etc/rc.d/init.d/jenkins
    /etc/logrotate.d/jenkins
    /var/lib/jenkins
    /var/log/jenkins
    /var/cache/jenkins
    /usr/lib/jenkins
    [root@docker-jenkins wenlong]# vim /etc/sysconfig/jenkins
    #修改jenkins用户为root
    ...
    JENKINS_USER="root"
    ...
    运行jenkins build 验证问题
     
     
     
     
     
  • 相关阅读:
    如何在某些情况下禁止提交Select下拉框中的默认值或者第一个值(默认选中的就是第一个值啦……)
    渗透测试
    如何制作chrome浏览器插件之一
    linux中的vi命令
    链栈
    二进制转16进制JAVA代码
    抽象数据类型的表示与实现
    变量的引用类型和非引用类型的区别
    说明exit()函数作用的程序
    计算1-1/x+1/x*x
  • 原文地址:https://www.cnblogs.com/xuewenlong/p/12914983.html
Copyright © 2011-2022 走看看