一、查询dockerHub下面的jenkins版本信息
docker search jenkins
这里可以看出排在第一位的jenkins被弃用了,提醒我们使用 jenkins/jenkins:lts
二、下载镜像
docker pull jenkins/jenkins:lts-jdk11
三、启动容器
docker run -d -v /data/jenkins_home:/var/jenkins_home -p 8081:8080 -p 50000:50000 --restart=on-failure -u 0 --name jenkins jenkins/jenkins:lts-jdk11
# 在这里我简单的说一下这些命令的作用
# docker 执行docker命令
# run 运行容器
# -d 后台运行
# -v 挂着容器卷,这里我本地/data/jenkins_home的文件作为容器中的/var/jenkins_home目录下的文件源,就是说容器中的/var/jenkins_home这个目录就是本地的/data/jenkins_home这个目录,简单说就是本地作为源文件,docker容器跑起来,把解压的内容放在本地这个文件,容器中用/var/jenkins_home目录来读取本地的/data/jenkins_home目录 我嘴笨,实在不理解的话,就这样docker容器是与本地隔离的,你从本地访问不到docker容器的文件,使用 -v 挂着出来后,就可以在本地修改原来只能在docker容器中修改的文件,好处是容器挂掉了,本地还留有文件,也可以理解为持久化+操作方便
# -p 映射端口 左边是本地端口 右边是docker容器 jenkins本身的端口 因为我本地有个tomcat是8080端口,改为了8081 50000是jenkins中JNLP所需的服务端口
# --restart=on-failure 失败重启
# -u 0 给本地/jenkins_home文件权限
# --name 给容器一个名字
# 最后一个跟下载的容器名+版本号 一点要带版本号,你不带的话又要从dockerhub中找最新的下载了
容器跑起来后,需要我们先把新版本中Jenkins的CSRF安全校验关掉,这里后面登录也会提
修改本地挂载出来的jenkins中的config.xml文件
sudo vim /data/jenkins_home/config.xml
# 把<excludeClientIPFromCrumb>false</excludeClientIPFromCrumb> 中的false改为true
<crumbIssuer class="hudson.security.csrf.DefaultCrumbIssuer">
<excludeClientIPFromCrumb>true</excludeClientIPFromCrumb>
</crumbIssuer>
重启docker的jenkins容器
docker restart jenkins
看一下jenkins容器启动日志
docker logs jenkins
复制这串密码,以备后用
四、Jenkins初始配置
重新跑起来后,我们打开192.168.117.134:8081查看一下登录情况
这里填写刚才我们在日志中看见的密码
按着步骤来
接下来需要我们自定义账号密码(这里没有关闭CSRF安全校验并且重启,是登录不了的,只能使用管理员登录),也可以使用管理员登录(账号是admin,密码是initialAdminPassword文件中的密码,我没记错的话好像就行日志中输出的随机密码)
这里默认就行
这样就进去jenkins页面了
安装插件
示例:安装ThinBackup(jenkins备份插件)步骤
网友评论