Docker内如何更新Jenkins
很多小伙伴在Docker中使用Jenkins时更新遇到困难,本次结合自己的实际经验,详细讲解。
根据官网Jenkins了解以下内容:
一、Jenkins 是什么?
Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。
Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。
二、开始使用 Jenkins
本导读将向您介绍使用 Jenkins、Jenkins 的主要特性和 Jenkins Pipeline 的基本知识。
本导读使用“独立”的 Jenkins 发行版,它可以在您自己本地的机器上运行。
2.1 准备工作
第一次使用 Jenkins,您需要:
机器要求:
内存 | 硬盘 |
---|---|
256 MB 内存,建议大于 512 MB | 10 GB 的硬盘空间 |
需要安装的软件:
- Java 8 ( JRE 或者 JDK 都可以)
- Docker (导航到网站顶部的Get Docker链接以访问适合您平台的Docker下载)
2.2 下载并运行 Jenkins
1.下载 Jenkins.
2.打开终端进入到下载目录.
3.运行命令
java -jar jenkins.war --httpPort=8080
4.打开浏览器进入链接
http://localhost:8080
5.按照说明完成安装.
三、通过docker-compose部署Jenkins
我的代码如下:
version: "3" volumes: # 自定义数据卷 jenkins_vol: #定义数据卷同步存放jenkins数据 networks: jenkins_network: driver: bridge services: jenkins: image: jenkins/jenkins ports: - "8080:8080" - "50000:50000" volumes: - ./compose/jenkins/jenkins_home:/jenkins_file - jenkins_vol:/var/jenkins_home networks: - jenkins_network restart: always
名词解释:
volumes
——自定义数据卷networks
——自定义网络(默认桥接), 不使用links通信services
——定义服务
jenkins: # jenkins服务 image: jenkins/jenkins # jenkins镜像 ports: # 端口映射 - "8080:8080" # 映射到宿主机端口 - "50000:50000" # 映射到宿主机端口 volumes: # 数据卷挂载 - ./compose/jenkins/jenkins_home:/jenkins_file # 挂载jenkins数据 - jenkins_vol:/var/jenkins_home # 挂载jenkins数据 networks: # 网络 - jenkins_network # 自定义网络 restart: always # 重启策略
通过命令运行:
sudo docker-compose up -d
执行完毕后,Jenkins创建成功:
在浏览器通过URL访问http://ip:8080进行访问,首次使用根据页面提示进行操作:
可使用cat命令查看密码进行登录:
cat /var/jenkins_home/secrets/initialAdminPassword
得到一串字符,这就是密码,复制到浏览器中点击继续:
这里根据需求安装 ,后续一路默认安装填写即可。
四、更新Jenkins
根据提示,当前有更新版本:
点击Downlaod进入下载jenkins.war文件 ,下载完成后将jenkins.war文件复制到本地与Docker容器挂载的对应目录,根据上面的部署文件可以看出,该项目的本地挂载路径为:
./compose/jenkins/jenkins_home
该路径对应docker容器路径为:
/jenkins_file
进入Docker容器,使用cd命令进入jenkins_file目录,使用cp命令复制.war包到解析目录,jenkins默认.war包路径为/usr/share/jenkins
cp jenkins.war /usr/share/jenkins
最后重启容器就会发现jenkins更新成功了!!!
如果遇到容器内cp权限问题 ,使用docker exec -it -u root 容器id /bin/bash进入即可
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
浅析docker-compose部署mysql无法访问的问题
Compose 是 Docker 容器进行编排的工具,定义和运行多容器的应用,可以一条命令启动多个容器,使用Docker Compose不再需要使用shell脚本来启动容器。接下来通过本文给大家分享docker-compose部署mysql无法访问的问题,需要的朋友参考下吧2018-10-10docker报错Container is not running问题及解决
这篇文章主要介绍了docker报错Container is not running问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-05-05
最新评论