当前位置: 首页 > news >正文

docker环境下安装jenkins

前言

差点被Jenkins的插件搞麻了,又是依赖不对又是版本需要升级的,差点破口大骂了,还好忍住了,静下心来慢慢搞,终于搞通了。这里必须记录一下。
废话不多说,上来就是干,jenkins是干嘛用的,小白的话,自己去查,首先我的环境时centos7,自己在vmware建立的一套centos虚拟机环境。docker版本如图所示:
docker版本

第一步

其实可以先查看一下又那些镜像jenkins可以使用:

docker search jenkins

jenkins版本
我们这边直接拉取对应的镜像:

docker pull jenkins/jenkins

然后拉去完成,查看对应的镜像信息:

docker images 

在这里插入图片描述
从图中看出我们已经拉取到了jenkins镜像了,接下来我们着手准备启动jenkins镜像了。

第二步

首先,我们需要创建jenkins的挂载目录并且授权权限,挂载目录的作用为了后期修改jenkins的相关配置:

mkdir -p /var/myjenkins_mount
chmod 777 /var/myjenkins_mount

这里的目录可以自定义创建,只要后面启动的时候,对应上即可。
此时目录创建完毕就可以启动jenkins,

-d 后台运行镜像
-p 10240:8080 将镜像的8080端口映射到服务器的10240端口。
-p 10241:50000 将镜像的50000端口映射到服务器的10241端口
-v /var/myjenkins_mount:/var/jenkins_home目录为容器jenkins工作目录,我们将硬盘上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录。这里我们设置的就是上面我们创建的 /var/jenkins_mount目录
-v /etc/localtime:/etc/localtime让容器使用和服务器同样的时间设置。
--name myjenkins 给容器起一个别名

还有其他的详细的命令可以自己去查。

docker run -d -p 10240:8080 -p 10241:50000 -v /var/myjenkins_mount:/var/jenkins_home -v /etc/localtime:/etc/localtime --name myjenkins jenkins/jenkins

查看jenkins是否启动成功,如下图出现端口号,就为启动成功了

docker ps

在这里插入图片描述
此时已经启动完成,只需要在浏览器上输入你的虚拟机的ip+10240即可进入到登陆界面,然后会出现
此处的jenkins_home就是我们刚刚创建的那个目录
在这里插入图片描述
我们在虚拟机上进入到这个目录下,拿到密码登陆即可。
注意 注意 注意
这里可能会弹出一个窗口是关于安装插件的,因为墙的原因,有些插件无法安装,这边建议暂时不安装任何插件然后进入到jenkins里,
等到进入了jenkins之后,再在点击插件管理,先修改Jenkins的镜像地址
插件
然后重新启动jenkins,进入到插件管理里会发现需要升级jenkins(不需要升级的就不用看这里了),
就根据页面给的的下载地址,把要升级的版本给下载下来。
要升级的版本呢

docker环境如何升级jenkins

d58d5b3044e1是jenkins容器的id,这里填写你们自己的容器id,
我的整个系统的配置是在vmvare虚拟机上搭建的,所以首先下载根据页面提示下载新版jenkins.war到我主机上,
然后再通过ssh工具将新版jenkins.war传输到虚拟机上。
首先将我们虚拟机里的jenkins.war复制并且传输到jenkins容器中:
docker cp jenkins.war d58d5b3044e1:/jenkins.war
接着进入到jenkins容器中
docker exec -it -u root d58d5b3044e1 bash
然后将升级版jenkins移到对应的目录下覆盖老版本的jenkins:
mv jenkins.war /usr/share/jenkins/jenkins.war
然后退出重启
exit
docker restart jenkins
这里其实还有一个隐藏的问题,就是如果重启jenkins容器的话,就会恢复到原来的版本,需要重新进行升级(但是安装的插件是不会丢失的),暂时没有找到好的方法解决,
后期如果找到了好的方法,我会及时更新的

我们会发现没有任何提示了,说明升级完成
在这里插入图片描述
但是还有一个问题就是我们的镜像问题,由于默认的jenkins镜像地址,容易被墙,所以还是需要修改成国内的镜像:
这个修改的地方在我们前面建的目录里:

cd /var/myjenkins_mount
然后
vi hudson.model.UpdateCenter.xml
将里面的url标签修改为
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

此时jenkins基本安装完毕,后续会写一些安装插件的博客。

http://www.lryc.cn/news/31405.html

相关文章:

  • Shifu基础功能:设备接入
  • 基于Java+SpringBoot+Vue+Redis+RabbitMq的鲜花商城
  • 蓝桥杯真题(解码)小白入!
  • 并发包中的ConcurrentLinkedQueue和LinkedBlockingQueue有什么区别?
  • 分享四个前端Web3D动画库在Threejs中使用的动画库以及优缺点附地址
  • 谷歌浏览器和火狐浏览器永久禁用缓存【一劳永逸的解决方式】
  • kibana查看日志
  • JS 异步接口调用介绍
  • 5.深入理解HttpSecurity的设计
  • opencv-python numpy常见的api接口汇总(持续更新)
  • 概率论小课堂:伯努利实验(正确理解随机性,理解现实概率和理想概率的偏差)
  • 加密功能实现
  • 大数据项目实战之数据仓库:用户行为采集平台——第1章 数据仓库概念
  • NTP对时服务器(NTP电子时钟)在生物制药业应用
  • JPA 之 QueryDSL-JPA 使用指南
  • 如何找回回收站删除的视频?这三种方法可以试试
  • FPGA_边沿监测理解
  • 41 42Ping-Pong操作
  • 保护你的数据安全,了解网络安全法!
  • 什么是CatGPT-使用效果如何-
  • 【MySQL】第17章_触发器
  • 【前端】一个更底层库-React基础知识点第2篇
  • GIT基础常用命令-1
  • 02_qml_简介
  • 小程序项目在hbuilder里面给它打包成app
  • linux安装pycharm
  • seata1.5.2使用从零快速上手(提供代码与安装包)
  • 我的机器学习之路
  • react-swipeable-views轮播图实现下方的切换点控制组件
  • 假如你知道这样的JVM