Docker挂载启动Jenkins及服务挂掉后恢复

在运行jenkins时,jenkins莫名的挂掉,连容器都被删除了,安装是很容易,但是配置全没了,需要费时间去重新配置,所以想到挂载运行,在jenkins挂掉之后,可以直接恢复使用之前的配置
一、Docker安装Jenkins挂载文件启动

下载镜像
启动准备工作
创建挂载的文件路径
启动

下载镜像
从docker镜像仓库找一个Jenkins的版本

选择你想要的版本,然后复制镜像下载docker pull jenkins/jenkins:latest
Linux上执行命令

镜像下载完成

启动准备工作
启动可以携带很多的参数,最普通的启动方式是:
docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v jenkins_hogworts:/var/jenkins_home jenkins
/jenkins:lts

我今天学习的是进行挂载方式启动(预防jenkins挂掉之后还能恢复配置数据)

创建挂载的文件路径
我服务器上面选用的路径是:
mkdir -p /home/jenkins/jenkins_mount

文件创建完成以后需要进行文件权限设置:
chmod 777 /home/jenkins/jenkins_mount

不然后面挂载的时候docker创建文件会报错

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

如果不想给文件赋权限,我们在启动的时候也可以设置 -u root

文件创建完成,开始执行启动命令

启动
-u root 启动,不需要进行文件设置777权限
docker run -u root -d -v /home/jenkins/jenkins_mount:/var/jenkins_home -p 9010:8080 -p 50000:50000 --restart=on-failure jenkins/jenkins:latest

需要进行文件777权限设置
docker run -d -v /home/jenkins/jenkins_mount:/var/jenkins_home -p 9010:8080 -p 50000:50000 --restart=on-failure jenkins/jenkins:latest

以上命令选其一就行

启动完成以后执行docker ps 查看一下是否启动成功

然后浏览器地址访问:
ip+9010端口
在这里插入图片描述

默认第一次访问是需要使用Jenkins自动生成的密码进行设置的,秘钥的路径默认是(第一次启动需要一点时间,才会生成配置文件)
/var/jenkins_home/secrets/initialAdminPassword
我们进行了文件挂载,所以我们的路径是
/home/jenkins/jenkins_mount/secrets/initialAdminPassword

直接使用linux vim 命令:
vim /home/jenkins/jenkins_mount/secrets/initialAdminPassword

输入复制的秘钥

点击继续

这里我为了快速安装,选择了“选择插件来安装”,后面再安装自己需要的插件在这里插入图片描述

点击保存并完成,然后就可以了
二、jenkins挂掉后恢复
jenkins的挂掉后,连容器都被删除了,恢复数据只需要2步
1、重新下载镜像
docker pull jenkins/jenkins:latest
2、重新运行jenkins,挂载目录为挂掉之前的挂载的目录,可以直接运行上次挂载运行的命令(我是这么使用的)docker run -u root -d -v /home/jenkins/jenkins_mount:/var/jenkins_home -p 9010:8080 -p 50000:50000 --restart=on-failure jenkins/jenkins:latest
在这里插入图片描述

生成了镜像id说明已经运行成功
在浏览器输入ip+端口号,发现之前配置的账号密码都还在(重新加载也花了几秒钟),点击登录进入,原来的配置都还在,成功恢复jenkins配置

挂载部分主要转载https://blog.csdn.net/weixin_42065235/article/details/126194554

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值