docker部署jenkins

avatar 2023年2月21日18:27:13 评论 533 次浏览

使用docker部署jenkins,但是很多镜像,在使用的时候,如果不知道在dockerfile中做的目录映射,就会创建的时候文件挂载没有权限,这个是经常遇到的,所以我们有两种解决方式,第一种直接使用docker的history命令查看镜像的dockerfile,第二种就是找一个自己比较熟悉的或者别人创建成功的镜像,然后拉取测试。我这里使用第二种,第一种后面补充。

 [root@wulaoer.org ~]# docker search jenkins
 [root@wulaoer.org ~]# docker pull jenkinsci/blueocean
 
 [root@wulaoer.org ~]# mkdir -p /home/jenkins_home   #创建文件夹
 [root@wulaoer.org ~]# chmod 777 /home/jenkins_home  #权限
 [root@wulaoer.org ~]# docker run -d --name docker-jenkins -v /home/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime  -p 8008:8080 -p 50000:50000 -u 0 jenkinsci/blueocean

docker创建成功之后,我们可以通过查看容器的日志,看看是否创建成功。

 [root@localhost ~]# docker logs -f docker-jenkins
 .....................................
 *************************************************************
 *************************************************************
 *************************************************************
 Jenkins initial setup is required. An admin user has been created and a password generated.
 Please use the following password to proceed to installation:
 c3614c5734714e6ba2e87bd32b319e11
 This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
 *************************************************************
 *************************************************************
 *************************************************************

安装成功后,我们通过浏览器查看http://172.16.10.51:8008/,请求之后把上面生产的秘密输入进去,然后下一步,根据自己的需求选择自定义安装或者推荐安装。

安装到这一步,基本jenkins就算安装好了,后面的设置什么的,慢慢补充,这里就不多叙述了,下面就说一下使用docker安装jenkins的时候遇到的问题。

docker拉取镜像

这里需要注意的是在拉取镜像源的过程中如果出现:

 error pulling image configuration: received unexpected HTTP status: 500 Internal Server Error

哪就把你的docker的源删除了,使用默认的即可,记住在daemon.json文件默认里面是没有东西的,只有一个"{}",千万别都删除了。

 [root@wulaoer.org ~]# vim /etc/docker/daemon.json

docker创建挂载卷

在docker创建挂载卷时,总是提示容器中的文件对宿主机没有写权限,因为容器中是用jenkins用户启动对,宿主机用的是root启动,所以权限不足。

 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?
 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

解决方法,就是先把sentenforce关闭掉,然后给挂载目录授权,在容器中jenkins用户的id是1000,所以需要给目录也授权,授权后重启docker即可,容器不需要删除重新创建。

 [root@wulaoer.org home]# setenforce 0
 [root@wulaoer.org home]# chown 1000:1000 -R jenkins_home
 [root@wulaoer.org home]# systemctl restart docker

至此,docker的安装已经完成了,后面会此序更新devops的相关内容,也是在此基础上做的,这里就不做过多的描述了,没有了看些其他的吧。

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: