使用jenkins镜像出现的问题

docker启动命令

docker run -d -v /root/jenkins:/var/jenkins_home -P --name jenkins-server jenkins

这个命令看似没有什么问题,但容器就是启动不起来,执行docker ps -a,查看container,如下,

[root@esslog-shqs-6 ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS               NAMES
274d92964edb        jenkins             "/bin/tini -- /usr/lo"   2 minutes ago       Exited (1) 2 minutes ago                       jenkins-server

接着执行docker logs jenkins-server查看container日志,如下

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

日志中出现了一个Permission denied错误,,以我目前的功力还不清楚是什么问题造成的,但是在谈谈Docker Volume 之权限管理和持续集成(Continuous integration)两篇博客中找到了答案,在执行docker run命令的时候增加一个-u参数,如下改进后的命令,

查了很多资料 改属主属组什么的都么解决 最后如下

docker run -d -v /root/jenkins:/var/jenkins_home -u 0 -P --name jenkins-server jenkins

这命令的意思是覆盖容器中内置的帐号,该用外部传入,这里传入0代表的是root帐号Id。这样再启动的时候就应该没问题了。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐