通过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
相关推荐
l软件定制开发工作室6 小时前
Spring开发系列教程(35)——使用Actuator
java·后端·spring
Liangwei Lin6 小时前
LeetCode 155. 最小栈
java·javascript·算法
showyoui7 小时前
一次 GKE Sidecar 场景下的连通性排查实录
docker·微服务·容器·kubernetes·service_mesh
mzhan0177 小时前
Linux: compare的直观性
java·linux·服务器
mask哥7 小时前
力扣算法java实现汇总整理(下)
java·算法·leetcode
小陈的进阶之路7 小时前
Python系列课(2)——判断
java·前端·python
刚子编程7 小时前
C# Join 进阶:GroupJoin、性能对决与自定义比较器
java·servlet·c#·join
漫随流水7 小时前
IDEA快速生成构造方法(空参、带参)
java·intellij-idea
spencer_tseng8 小时前
Spring Boot 3.0+ jakarta.*
java·spring boot
Bat U8 小时前
JavaEE|文件操作和IO
java·开发语言