• docker安装jenkins以及Permission denied错误的解决方法!


    1.安装jenkins

    docker创建jenkins容器
    docker run -d -p 8090:8080 -p 8091:50000 -v /data/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins jenkinsci/blueocean
    
    • 1
    出现以下错误提示:

    touch: cannot touch ‘/var/jenkins_home/copy_reference_file.log’: Permission denied
    Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?

    查看容器运行日志:
    docker logs jenkins
    
    • 1

    在这里插入图片描述

    2.“Permission denied” 解决方法

    第一种:容器执行命令加上特权参数 --privileged=true

    删除容器

    docker rm jenkins
    
    • 1

    加上特权参数重新创建jenkins容器:

    docker run -d -p 8090:8080 -p 8091:50000 -v /data/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime --privileged=true --name jenkins jenkins
    
    • 1

    查看容器日志:

    docker rm jenkins
    
    • 1

    在这里插入图片描述
    并没有解决问题!!!!

    第二种:临时关闭selinux

    临时关闭selinux:

    setenforce 0
    
    • 1

    删除容器:

    docker rm jenkins
    
    • 1

    重新创建jenkins容器:

    docker run -d -p 8090:8080 -p 8091:50000 -v /data/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins jenkins
    
    • 1

    查看容器日志:

    docker rm jenkins
    
    • 1

    结果:
    在这里插入图片描述
    并没有解决问题!!!!

    第三种:添加selinux规则,改变要挂载的目录的安全性文本

    修改selinux规则:

    chcon -Rt chcon -Rt svirt_sandbox_file_t /data/jenkins_home
    
    • 1
    chcon -Rt svirt_sandbox_file_t /etc/localtime
    
    • 1

    删除容器:

    docker rm jenkins
    
    • 1

    重新创建jenkins容器:

    docker run -d -p 8090:8080 -p 8091:50000 -v /data/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins jenkins
    
    • 1

    查看容器日志:

    docker logs jenkins
    
    • 1

    结果:
    在这里插入图片描述

    第四种:根据uid修改所挂载宿主机目录的权限

    参考博客:https://developer.aliyun.com/article/53990

    查看jenkins容器的用户和uid

    docker run -ti --rm --entrypoint="/bin/bash" jenkins -c "whoami && id"
    
    • 1

    在这里插入图片描述

    给jenkins 的 uid 赋予 /data的权限:

    sudo chown -R 1000 /data
    
    • 1

    重启启动jenkins:

    docker start jenkins
    
    • 1

    查看 jenkins是否启动:

    docker ps | grep jenkins
    
    • 1

    结果:
    在这里插入图片描述
    牛逼!!!

    3.配置镜像加速

    b编辑xml文档:

    vim /data/jenkins_home/hudson.model.UpdateCenter.xml
    
    • 1

    修改 url 为清华大学官方镜像:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
    在这里插入图片描述

    4.访问jenkins管理界面

    浏览器输入jenkins安装机器所在IP地址和端口:
    http://127.0.0.1:8090
    在这里插入图片描述
    执行以下命令获取管理员密码输入该框:

    vim /data/jenkins_home/secrets/initialAdminPassword
    
    • 1

    成功登录:
    在这里插入图片描述

  • 相关阅读:
    Python实现---南邮离散数学实验四:图的生成及欧拉(回)路的确定
    Java刷题day37
    新型数据中心——推动数字经济发展的动力引擎
    音视频八股文(11)-- ffmpeg avio 内存输入和内存输出。内存输出有完整代码,网上很少有的。
    漏洞复现-CVE-2022-1388命令执行F5 BIG-IP iControl REST
    架构师社区爆火的分布式微服务神仙笔记究竟有什么魅力?
    1.JAVA小项目(零钱通)
    [网鼎杯 2020 青龙组]bang 题解
    【Express.js】健康检查
    Mysql入门
  • 原文地址:https://blog.csdn.net/qq_36940806/article/details/126690130