创建Jenkins容器
docker run -d --name jenkins -p 8040:8080 -p 50000:50000 -v /data/jenkins_home:/var/jenkins_home jenkins:latest
问题描述
无法启动jenkins
查看错误原因
docker logs jenkins
能看到提示权限不足:Permission denied
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?
解决方法
由于jenkins启动之后内部用户默认为 jenkins,但是外部Linux系统中没有包含该用户,且一般创建好的数据卷权限为 root
解决:修改启动命令,增加 "-u 0",使用外部传入用户的方式,来覆盖内部默认的用户
docker run -d --name jenkins -p 8040:8080 -p 50001:50001 -u 0 -v /data/jenkins_home:/var/jenkins_home jenkins:latest
-u 0:表示root用户,root用户的uid是0