首页 > 其他分享 >Docker安装Jenkins详解

Docker安装Jenkins详解

时间:2024-06-01 14:54:29浏览次数:20  
标签:容器 插件 详解 usr jenkins Jenkins Docker docker

目录
Docker安装Jenkins
1.下载Jenkins
2、创建挂载目录
3、启动Jenkins容器
4、验证Jenkins容器是否启动成功
5、获取管理员密码
6、修改插件源
7、登录web页面
8、插件推荐
Docker安装Jenkins
话不多说,下面直接开始

1.下载Jenkins
使用下面命令,让docker拉取镜像,

docker pull jenkins/jenkins:2.426.2-lts
1
注:需要指定版本号,不然拉取的镜像版本是比较老的版本

2、创建挂载目录
创建一个挂载目录,用于存放jenkins的数据

//创建目录
mkdir -p /usr/docker/jenkins_data

//授权权限
chmod 777 jenkins_home
1
2
3
4
5
3、启动Jenkins容器
启动命令如下:

docker run -d -p 8082:8080 -p 50000:50000 -v /usr/docker/jenkins_data:/var/jenkins_home  -v /etc/localtime:/etc/localtime -v /usr/bin/docker:/usr/bin/docker     -v /var/run/docker.sock:/var/run/docker.sock   --restart=on-failure  -u 0 --name myjenkins jenkins/jenkins:2.426.2-lts
1
指令解析:

-d :后台运行容器

-p:端口映射, 左边是本地端口,右边是docker容器端口 ,8080是Jenkins Web 界面的工作端口,50000是JNLP(Java Network Launch Protocol)工作端口。这个端口用于 Jenkins 节点和主控节点之间的通信。

-v :目录挂载,将主机上的 /usr/docker/jenkins_data 目录挂载到容器内的 /var/jenkins_home 目录,用于持久化 Jenkins 的数据。/etc/localtime:/etc/localtime:将本地主机上的时区信息文件挂载到容器内的 /etc/localtime 文件中,确保容器内的时间与主机上的时间一致

-v /usr/bin/docker:/usr/bin/docker: 将主机上的 /usr/bin/docker 文件挂载到容器中的 /usr/bin/docker,这样容器内的 Jenkins 可以直接使用宿主机上的 Docker 命令。在使用 GitLab/Jenkins 等 CI 软件的时候需要使用 Docker 命令来构建镜像,需要在容器中使用 Docker 命令;通过将宿主机的 Docker 共享给容器

-v /var/run/docker.sock:/var/run/docker.sock: 将主机上的 Docker socket 文件挂载到容器中的相同位置,这样容器内的 Jenkins 可以与宿主机上的 Docker 引擎进行通信。

–restart=on-failure:设置容器的重启策略为在容器以非零状态退出(异常退出)时重启。

-u 0:将容器内进程的用户身份设置为 root 用户,等同于-u root。

–name myjenkins:给容器指定一个名称为 myjenkins。

4、验证Jenkins容器是否启动成功
使用下面命令,查看jenkins是否已经在运行

docker ps 
1
如果已经运行,会输出jenkins容器的相关信息

CONTAINER ID   IMAGE                         COMMAND                   CREATED      STATUS        PORTS                                                                                      NAMES
2949e82cbfe8   jenkins/jenkins:2.426.2-lts   "/usr/bin/tini -- /u…"   6 days ago   Up 24 hours   0.0.0.0:50000->50000/tcp, :::50000->50000/tcp, 0.0.0.0:8082->8080/tcp, :::8082->8080/tcp   myjenkins
1
2
5、获取管理员密码
我们在进入Jenkins的管理页面的时候,是需要管理员密码,所以我们需要获取管理员密码

获取管理员密码有两种方式

1、查看日志

使用下面命令查看jenkins的输出日志,myjenkins是我们在启动jenkins时给jenkins指定的容器名

docker logs myjenkins
1
找到下面这行代码,Please use the following password to proceed to installation下面的就是密码

Please use the following password to proceed to installation:

151c26cd87b84e449d3bffca7f5365c3
1
2
3
2、查看文件

不看日志,我们也可以直接查看/var/jenkins_home/secrets/initialAdminPassword文件,这个目录在我们进入jenkins 管理页面时会看到

6、修改插件源
Jenkins在安装插件时,下载相关插件包特别慢,我们可以将Jenkins默认的插件数据源变更为国内数据源,然后重启Jenkins

#进入更新配置目录
cd {你的Jenkins工作目录}/updates
1
2
使用下面命令替换default.json文件中指定的源

sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
1
修改下载地址

cd {你的Jenkins工作目录}/
1
找到下面这个文件
hudson.model.UpdateCenter.xml文件

 <?xml version='1.1’encoding='UTF-8'?>
    <sites>
        <site>
            <id>default</id>
            <url>https://updates.jenkins.io/update-center.json</url>
        </site>
    </sites>
1
2
3
4
5
6
7
将url替换为http://mirror.esuni.jp/jenkins/updates/update-center.json

    <?xml version='1.1encoding='UTF-8'?>
    <sites>
        <site>
            <id>default</id>
            <urI>http://mirror.esuni.jp/jenkins/updates/update-center.json</url》
        </site>
    </sites>
1
2
3
4
5
6
7
7、登录web页面
使用ip:8082,8082就是我们主机映射到容器8080的端口,如果你使用的是其他端口,那么需要换成其他端口

输入密码之后,就可以安装插件,直接选择安装推荐的插件即可

 

下载完成,就可以进入jenkins进行操作了

8、插件推荐
除了推荐插件之外,下面是一些常用插件,大家按需安装

Locale(中文插件)

Gitlab Plugin (拉取 gitlab 中的源代码)

Maven Integration(maven构建工具)

Publish Over SSH(远程推送工具)

Role-based Authorization Strategy(权限管理)

Deploy to container(自动化部署工程所需要插件,部署到容器插件)

git parameter(用户参数化构建过程里添加git类型参数)

下载插件在系统管理—插件管理的Available plugins


————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/qq_36551991/article/details/135764302

标签:容器,插件,详解,usr,jenkins,Jenkins,Docker,docker
From: https://www.cnblogs.com/csjoz/p/18225985

相关文章

  • 数据库系统概论(超详解!!!)第十节 过程化SQL
    1.Transact-SQL概述SQL(StructureQueryLanguage的简称,即结构化查询语言)是被国际标准化组织(ISO)采纳的标准数据库语言,目前所有关系数据库管理系统都以SQL作为核心,在JAVA、VC++、VB、Delphi等程序设计语言中也可使用SQL,它是一种真正跨平台、跨产品的语言。2.Transact-SQL......
  • 回溯算法详解
    回溯回溯概念题解组合问题LeetCode-77组合题目描述:题目思路:代码LeetCode-216组合Ⅲ题目描述题目思路代码LeetCode-39组合总数题目描述:解题思路代码排列问题LeetCode-46全排列题目描述解题思路代码回溯概念题解组合问题LeetCode-77组合LeetCode-77组......
  • 机器学习_回归算法详解
    机器学习中的回归算法用于预测连续数值输出(目标变量),通过学习输入特征(自变量)与目标变量之间的关系。以下详细介绍几种常见的回归算法及其工作原理,并提供相应的代码示例。1.线性回归(LinearRegression)1.1简介线性回归是最简单、最常用的回归算法之一,假设目标变量(y)......
  • 震惊!不掺杂一点水分的docker harbor搭建干货!
    生产环境dockerharbor搭建环境已包含docker和docker-compose下载dockerharbor下载地址:https://github.com/goharbor/harbor/releases/修改配置文件并安装root@harbor:/opt#tarzxfharbor-online-installer-v2.10.2.tgzroot@harbor:/opt#cdharbor/root@harbo......
  • docker
    一、什么是Docker 大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题:依赖关系复杂,容易出现兼容性问题开发、测试、生产环境有差异 什么是DockerDocker和虚拟机的区别Docker架构Docker如何解决依赖的兼容问题的?将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包将......
  • 零基础学Java第二十七天之前端-HTML5详解
    前端-HTML5详解一、概述HTML5是HTML的第五个版本,它对HTML进行了许多改进和扩展,使得网页开发更加丰富和便利。HTML5是Web标准的重要组成部分,旨在提高浏览器兼容性,统一网页开发标准。HTML5不仅包括了HTML的基本元素和标签,还新增了许多功能和API,为网页开发提供了更多的可能......
  • Springboot 开发 -- 跨域问题技术详解
    一、跨域的概念跨域访问问题指的是在客户端浏览器中,由于安全策略的限制,不允许从一个源(域名、协议、端口)直接访问另一个源的资源。当浏览器发起一个跨域请求时,会被浏览器拦截,并阻止数据的传输。这种限制是为了保护用户的隐私和安全,防止恶意网站利用用户的浏览器向其他网站......
  • docker 镜像
    docker的镜像获取方式1通过开源的hubdocker仓库取拉去镜像2通过dockerfile文件取生产镜像3通过save命令去复制别的环境上的镜像,用于离线镜像操作1到仓库中获取镜像以下是一些常见的Docker国内镜像源:网易云Docker镜像:http://hub-mirror.c.163.com......
  • 算法金 | 详解过拟合和欠拟合!性感妩媚 VS 大杀四方
    大侠幸会,在下全网同名「算法金」0基础转AI上岸,多个算法赛Top「日更万日,让更多人享受智能乐趣」今天我们来战过拟合和欠拟合,特别是令江湖侠客闻风丧胆的过拟合,简称过儿,Emmm过儿听起来有点怪怪的1.楔子机器学习模型是一种能够从数据中学习规律并进行预测的......
  • lammps自带工具msi2lmp的使用详解
    msi2lmp工具的用途:将MaterialStudio中建好的模型转化成能够运行的.data文件安装1、cmake编译安装lammps时msi2lmp会自动编译好,直接终端输入msi2lmp就可以调用2、make编译安装lammps,需要单独再次进入tool/msi2lmp文件夹。输入make编译安装此工具,生成msi2lmp.exe运行文件。并......