通过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
相关推荐
凡人叶枫7 小时前
Effective C++ 条款41:了解隐式接口和编译期多态
java·开发语言·c++·effective c++
凡人叶枫7 小时前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
chushiyunen8 小时前
java中的路径处理、左右斜杠
java·开发语言·python
yyxx4121238 小时前
上海企业如何选择专业的钉钉服务商
java·大数据·人工智能·钉钉
一杯奶茶¥8 小时前
水果销售网站 CRM客户信息管理系统 超市管理系 酒店管理系统 健身房管理系统 在线音乐网站 校园招聘系统
java·vue.js·spring boot·mysql·spring·java项目
重生之后端学习8 小时前
Java入门
java·开发语言·职场和发展
碧海蓝天20228 小时前
C++法则24:在标准 C++ 中,没有任何可移植的方式判断指针 T* pt 指向的内存位置是否已经 构造了对象,程序员必须手动跟踪哪些元素已构造。
java·开发语言·c++
程序员老赵9 小时前
服务器没有桌面?Docker 跑个 Chrome,浏览器就能远程用
docker·容器·devops
杨浦老苏9 小时前
轻量级Docker仪表板Servedash
运维·docker·监控·群晖·仪表板
正经教主9 小时前
【docker基础】 第八周:容器监控与应用更新策略
运维·docker·容器