通过docker启动Jenkins容器报错

项目场景:

通过docker启动Jenkins容器


问题描述

Jenkins容器启动失败,通过sudo docker logs -f jenkins命令 查看日志如下:

复制代码
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?

原因分析:

访问copy_reference_file.log文件没有权限。

由于启动用户,和docker容器内部的用不一致导致的。

复制代码
因为当映射本地数据卷时,/opt/jenkins目录的拥有者为root用户,而容器中jenkins user的uid为1000

解决方案:

修改docker宿主机文件的权限。

我的目录映射关系为:

/opt/jenkins:/var/jenkins_home

所以我需要修改/opt/jenkins目录下的文件的所属用户及用户组。

复制代码
chown -R 1000:1000 /opt/jenkins
相关推荐
w***37516 分钟前
SpringBoot【实用篇】- 测试
java·spring boot·后端
q***614129 分钟前
Java实战:Spring Boot实现WebSocket实时通信
java·spring boot·websocket
k***825129 分钟前
Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat
java·ubuntu·centos
2301_8156864536 分钟前
extern
java·开发语言
q***563840 分钟前
Java进阶-SPI机制
java·开发语言
t***26591 小时前
Springboot中使用Elasticsearch(部署+使用+讲解 最完整)
spring boot·elasticsearch·jenkins
曾经的三心草1 小时前
基于正倒排索引的Java文档搜索引擎2-实现Index类
java·python·搜索引擎
q***71011 小时前
从零到上线:Node.js 项目的完整部署流程(包含 Docker 和 CICD)
docker·容器·node.js
g***72701 小时前
(CICD)自动化构建打包、部署(Jenkins + maven+ gitlab+tomcat)
自动化·jenkins·maven