别再为 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博客
💕 曾国藩说: 一书未完,不读其他