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

别再为 Jenkins 安装烦恼,Docker 帮你轻松解决

前言

大家好,又见面了,我是沐风晓月,本文收录与云原生相关的专栏,以下是我的简介:

🏠个人主页:我是沐风晓月
🧑个人简介:大家好,我是沐风晓月,双一流院校计算机专业,阿里云社区专家博主😉😉
💕 座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步🍺🍺🍺
💕欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信😘

一. 获取Jenkins镜像

1. 搜索jenkins镜像

[root@mufenggrow ~]# docker search jenkins
NAME                           DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
jenkins                        DEPRECATED; use "jenkins/jenkins:lts" instead   5606      [OK]       
jenkins/jenkins                The leading open source automation server       3393                 
jenkins/jnlp-slave             a Jenkins agent which can connect to Jenkins…   155                  [OK]
jenkins/inbound-agent                                                          87                   
bitnami/jenkins                Bitnami Docker Image for Jenkins                59                   [OK]
jenkins/agent                                                                  51                   
jenkins/slave                  base image for a Jenkins Agent, which includ…   49                   [OK]
jenkins/ssh-slave              A Jenkins slave using SSH to establish conne…   39                   [OK]

命令中出现的参数解释:

  • NAME - Docker 镜像名称,例如 “jenkins”。

  • DESCRIPTION - 镜像的描述,包括一些关键词,以帮助用户更好地了解镜像的内容和用途。

  • STARS - 表示该镜像被多少 Docker 用户收藏,收藏数越多通常代表该镜像受欢迎程度越高。

  • OFFICIAL - 指示该镜像是否为官方 Docker 镜像。如果是官方镜像,则该字段为 “OK”,否则为空。

  • AUTOMATED - 指示该镜像是否为自动构建镜像。如果是,则该字段为 “OK”,否则为空。

  • DOCKER STARS - 该镜像在 Docker Hub 上的星级评分,从 0 到 5 星不等。

  • UPDATED - 显示镜像的最后更新日期和时间。

  • OFFICIAL IMAGE - 表示该镜像是否为 Docker 官方支持的镜像。如果是,则该字段为 “OK”,否则为空。

  • ARCHITECTURE - 表示该镜像支持的 CPU 架构,例如 “amd64”、“arm64” 等。

  • VOTES - 表示 Docker 用户投票支持该镜像的数量。

这里需要注意: 不是每个镜像都选第一个,要看描述,也就是DESCRIPTION字段
比如: DEPRECATED 音标:[ˌdiːprɪˈkeɪtɪd] 表示"被弃用"、"不建议使用"的意思, 这时候就不要选,我们这里直接选第二个。

2. 拉取镜像

[root@mufenggrow ~]# docker search jenkins --limit 3
NAME                 DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
jenkins              DEPRECATED; use "jenkins/jenkins:lts" instead   5606      [OK]       
jenkins/jenkins      The leading open source automation server       3393                 
jenkins/jnlp-slave   a Jenkins agent which can connect to Jenkins…   155                  [OK]
[root@mufenggrow ~]# docker pull jenkins/jenkins

拉取镜像如下图:

在这里插入图片描述

该命令直接拉取的最新版本(latest)的镜像,我们还可以选择下面几个推荐的版本:

  • jenkins/jenkins:lts-jdk11:基于 JDK11 的最新 LTS 版本;
  • jenkins/jenkins:alpine:Alpine 版本;
  • jenkins/jenkins:latest-jdk8:基于 JDK8 的最新版本

更多版本,从docker hub官网查看: https://registry.hub.docker.com/r/jenkins/jenkins/tags

如下图:
在这里插入图片描述

运行Jenkins容器

1. 创建Jenkins挂载目录

Docker 为了实现容器和主机之间的数据共享,提供了挂载目录(Mount)的机制。通过在容器启动时将主机的目录或文件挂载到容器的文件系统中,可以让容器和主机之间共享数据。

所以这里我们先创建挂载目录:

mkdir -p /usr/local/jenkins
chmod 777 /usr/local/jenkins

2. 创建并启动Jenkins容器

docker run -d \-p 8080:8080 \-p 50000:50000 \-v /usr/local/jenkins:/var/jenkins_home \-v /etc/localtime:/etc/localtime \--restart=always \--name=jenkins \jenkins/jenkins

命令解析:

  • -d:以后台方式运行容器。

  • -p 8080:8080:将主机的8080 端口映射到容器的 8080 端口,使得在主机上可以通过 http://localhost:8080访问 Jenkins 的 Web 界面。

  • -p 50000:50000:将主机的 50000 端口映射到容器的 50000 端口,用于 Jenkins 的远程构建。

  • -v /usr/local/jenkins:/var/jenkins_home:将主机上的 /usr/local/jenkins 目录挂载到容器内的 /var/jenkins_home 目录,用于持久化 Jenkins 数据。

  • -v /etc/localtime:/etc/localtime:将主机的本地时间设置挂载到容器中,使得容器中的时间与主机的时间同步。

  • -restart=always:设置容器总是自动重启,即使容器意外终止或 Docker 守护进程重启。

  • –name=jenkins:为容器命名为 jenkins。

  • jenkins/jenkins:表示要运行的 Docker 镜像名称和版本,这里是 Jenkins 官方提供的官方镜像。

3. 查看是否执行成功

使用docker ps 或者docker ps -l 来查看是否启动成功

[root@mufenggrow ~]# docker ps
CONTAINER ID   IMAGE             COMMAND                  CREATED          STATUS         PORTS                                                                                      NAMES
0102a8a377b2   jenkins/jenkins   "/sbin/tini -- /usr/…"   16 minutes ago   Up 3 seconds   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:50000->50000/tcp, :::50000->50000/tcp   jenkins

在这里插入图片描述

三. 访问Jenkins并安装

1. 浏览器输入ip:8080访问

访问的方式是: IP+容器的端口,我这里是192.168.1.56:8080

2. 查找管理员密码

在这里插入图片描述
可以看到这里让输入密码,密码在/var/jenkins_home/secrets/initialAdminPassword, 我们可以进容器内部去查看,也可以在我们挂载的目录下查看:

[root@mufenggrow ~]# cat /usr/local/jenkins/secrets/initialAdminPassword 
a2b3ca514a01491c947095d9a7b3bc95
[root@mufenggrow ~]# 

找到密码后输入并点击下一步:
在这里插入图片描述

3. 选择推荐的插件进行安装

在这里插入图片描述

这里会自动安装,可以不用操作,如果觉得速度比较慢,也可以设置jenkins的国内镜像加速

在这里插入图片描述

4. 创建管理员账户

安装完成后,会进入管理员创建页面,可以选择使用admin账户继续,也可以创建一个新的管理员用户(建议创建新的管理员用户,方便管理账号密码):

在这里插入图片描述

5. 登录成功

通过上面的步骤操作之后,可以看到已经登录成功了。
在这里插入图片描述
在这里插入图片描述

总结

💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!
💕 博客主页:mufeng.blog.csdn.net
💕 本文由沐风晓月原创,首发于CSDN博客
💕 曾国藩说: 一书未完,不读其他

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

相关文章:

  • 汇编语言程序设计(一)
  • 【uni-app教程】四、UniAPP 路由配置及页面跳转
  • ROS从入门到精通系列(二十八)-- ROS控制器图形化界面开发
  • Submodule命令:android如何将自己项目中的某个Module作为gitlab中第三方公共库
  • MySQL索引事务
  • ISO27001信息安全管理体系认证
  • Linux应用GUI开发C++ 之gtkmm4(1)
  • 选课系统的设计与实现
  • 关于安卓的一些残缺笔记
  • MySQL 中的锁有哪些类型,MySQL 中加锁的原则
  • Winform中操作Sqlite数据增删改查、程序启动时执行创建表初始化操作
  • 2023最新版本RabbitMQ下载安装教程
  • 如何使用码匠连接 Elasticsearch
  • jmeter学习笔记二(jmeter函数与后置处理器)
  • 【独家】华为OD机试提供C语言题解 - 子序列长度
  • Java之注解
  • 【C++】string
  • JVM详解——执行引擎
  • python学习——【第二弹】
  • 242. 有效的字母异位词 349. 两个数组的交集
  • web网页设计——JavaScript一些语法
  • php宝塔搭建部署实战CSM会议室预约系统源码
  • 嵌入式知识点-SPI通讯
  • C#教程--01 简介
  • 【java基础】一篇文章彻底搞懂lambda表达式
  • 通用SQL查询分析器
  • 机器学习100天(三十八):038 朴素贝斯-处理离散数据
  • 【3.3】指针、二分、SSM项目
  • buu [INSHack2017]rsa16m 1
  • 【数据结构起航】:衡量算法的好坏--时间空间复杂度