Docker安装Jenkins的实现步骤

 更新时间:2024年01月26日 10:13:55   作者:way_more  
版本与jdk版本以及各类插件有对应关系,所以普通安装较为麻烦,本文主要介绍了Docker安装Jenkins的实现步骤,具有一定的参考价值,感兴趣的可以了解一下

话不多说,下面直接开始

1.下载Jenkins

使用下面命令,让docker拉取镜像,

docker pull jenkins/jenkins:2.426.2-lts

注:需要指定版本号,不然拉取的镜像版本是比较老的版本

2、创建挂载目录

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

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

//授权权限
chmod 777 jenkins_home

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

指令解析:

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

如果已经运行,会输出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

5、获取管理员密码

我们在进入Jenkins的管理页面的时候,是需要管理员密码,所以我们需要获取管理员密码

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

1、查看日志

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

docker logs myjenkins

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

Please use the following password to proceed to installation:

151c26cd87b84e449d3bffca7f5365c3

2、查看文件

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

6、修改插件源

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

#进入更新配置目录
cd {你的Jenkins工作目录}/updates

使用下面命令替换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

修改下载地址

cd {你的Jenkins工作目录}/

找到下面这个文件
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>

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

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

在这里插入图片描述

到此这篇关于Docker安装Jenkins的实现步骤的文章就介绍到这了,更多相关docker安装jenkins内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • DockerCE之执行docker info出现两条警告信息及解决方案

    DockerCE之执行docker info出现两条警告信息及解决方案

    这篇文章主要介绍了DockerCE之执行docker info出现两条警告信息及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Docker-compose 建立ELK集群的实现方法

    Docker-compose 建立ELK集群的实现方法

    这篇文章主要介绍了Docker-compose 建立ELK集群的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • docker容器增加端口映射全过程(修改配置文件方式)

    docker容器增加端口映射全过程(修改配置文件方式)

    文章详细描述了如何通过修改Docker容器的配置文件来增加端口映射,以解决已经运行的容器需要增加端口映射的问题,以MySQL容器为例进行了具体操作步骤的说明
    2024-11-11
  • 使用 Azure Container Registry 储存镜像的问题

    使用 Azure Container Registry 储存镜像的问题

    Azure Container Registry(容器注册表)是基于 Docker Registry 2.0规范的托管专用 Docker 注册表服务。这篇文章主要介绍了使用 Azure Container Registry 储存镜像,需要的朋友可以参考下
    2021-05-05
  • Docker资源限制Cgroup的深入理解

    Docker资源限制Cgroup的深入理解

    _cgroups,是一个非常强大的linux内核工具,他可以限制被namespace隔离起来的资源,本文主要介绍了Docker资源限制Cgroup的深入理解。具有一定的参考价值,感兴趣的可以了解一下
    2022-07-07
  • windows系统下如何修改docker的镜像存储地址

    windows系统下如何修改docker的镜像存储地址

    对于希望调整Docker镜像存储位置的用户,在Windows环境下可以编辑特定配置文件实现这一需求,这篇文章主要介绍了windows系统下如何修改docker的镜像存储地址的相关资料,需要的朋友可以参考下
    2025-03-03
  • Docker 部署 Nexus Maven私服的详细过程

    Docker 部署 Nexus Maven私服的详细过程

    Nexus 是一个强大的仓库管理器,广泛用于管理和组织软件构建过程中的依赖项和构件,通过 Docker 部署 Nexus 私服,可以简化安装和管理过程,并提供更高的灵活性和可扩展性,这篇文章主要介绍了Docker 部署 Nexus Maven私服的详细过程,需要的朋友可以参考下
    2024-08-08
  • 如何给一个正在运行的Docker容器动态添加Volume

    如何给一个正在运行的Docker容器动态添加Volume

    这篇文章主要介绍了如何给一个正在运行的Docker容器动态添加Volume,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • 解决docker安装后运行hello-world报错的问题

    解决docker安装后运行hello-world报错的问题

    这篇文章主要介绍了解决docker安装后运行hello-world报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker部署.NET6项目的实现步骤

    Docker部署.NET6项目的实现步骤

    Docker是现在比较流行的开源容器引擎,有了它让我们部署和维护系统更加方便,本文主要介绍了Docker部署.NET6项目,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12

最新评论