• 【云原生】Dokcer安装Jenkins


    🎈 作者:互联网-小啊宇
    🎈 简介: CSDN 运维领域创作者。目前从事 Kubernetes运维相关工作,擅长Linux系统运维、开源监控软件维护、Kubernetes容器技术、CI/CD持续集成、自动化运维、开源软件部署维护等领域。
    🎈 博客首页:互联网-小啊宇
    🎈 欢迎小伙伴们点赞👍、收藏⭐、留言💬

    ⭐服务器安装Docker

    🍒关闭防火墙、沙盒、iptables

    systemctl stop firewalld && systemctl disable firewalld && setenforce 0 && iptables -F && iptables-save
    
    • 1

    🍒卸载旧版本docker或者残留

    yum -y remove docker docker-common docker-selinux docker-engine docker-engine-selinux container-selinux docker-ce
    
    # 或者
    yum -y remove docker*
    
    #删除所有的镜像、容器、数据卷、配置文件等
    sudo rm -rf /var/lib/docker
    
    # 查看安装的docker相关软件 卸载情况
    yum list installed | grep docker
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    🍒1. 安装yum管理工具:

    yum install -y yum-utils
    
    • 1

    🍒2. 添加国内镜像源

    yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    • 1

    🍒3. 查看软件版本:

    yum list docker-ce --showduplicates|sort -r
    
    • 1
    docker-ce.x86_64            3:18.09.6-3.el7                     docker-ce-stable
    docker-ce.x86_64            3:18.09.5-3.el7                     docker-ce-stable
    docker-ce.x86_64            18.03.1.ce-1.el7.centos             docker-ce-stable
    docker-ce.x86_64            18.03.0.ce-1.el7.centos             docker-ce-stable
    docker-ce.x86_64            17.12.1.ce-1.el7.centos             docker-ce-stable
    docker-ce.x86_64            17.03.3.ce-1.el7                    docker-ce-stable
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    1. 安装指定的docker版本
    yum install docker-ce-17.06.2.ce-1.el7.centos
    
    • 1

    ⭐获取 Jenkins 镜像

    🍒1、搜索 Jenkins 镜像

    [root@localhost ~]# docker search jenkins
    NAME                           DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
    jenkins                        DEPRECATED; use "jenkins/jenkins:lts" instead   5504      [OK]       
    jenkins/jenkins                The leading open source automation server       3087                 
    jenkins/jnlp-slave             a Jenkins agent which can connect to Jenki...   150                  [OK]
    jenkins/inbound-agent                                                          65                   
    bitnami/jenkins                Bitnami Docker Image for Jenkins                53                   [OK]
    jenkins/slave                  base image for a Jenkins Agent, which incl...   48                   [OK]
    jenkins/agent                                                                  39                   
    jenkins/ssh-slave              A Jenkins slave using SSH to establish con...   38                   [OK]
    jenkins/ssh-agent              Docker image for Jenkins agents connected ...   24                   
    jenkins/jnlp-agent-docker                                                      8                    
    jenkins/jnlp-agent-maven       A JNLP-based agent with Maven 3 built in        7                    
    jenkins/pct                    Plugin Compat Tester                            5                    [OK]
    jenkins/evergreen              An automatically self-updating Jenkins dis...   5                    
    jenkins/jenkins-experimental   Experimental images of Jenkins. These imag...   3                    [OK]
    jenkins/jnlp-agent-python      A JNLP-based agent with Python built in         3                    
    jenkins/jnlp-agent-alpine                                                      2                    
    jenkins/ath                    Jenkins Acceptance Test Harness                 1                    [OK]
    jenkins/jenkinsfile-runner     Jenkinsfile Runner packages                     1                    
    rancher/jenkins-jenkins                                                        1                    
    jenkins/core-pr-tester         Docker image for testing pull-requests sen...   1                    
    jenkins/jnlp-agent-node                                                        1                    
    jenkins/jnlp-agent-ruby                                                        1                    
    rancher/jenkins-master         Jenkins Server                                  1                    [OK]
    rancher/jenkins-slave          Jenkins Build Slave                             0                    [OK]
    rancher/jenkins-jnlp-slave                                                     0        
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    选择第二个版本的镜像,因为这个是 Jenkins 官网里面推荐的 Docker 镜像,同时第一个也提示已经废弃了。

    🍒2、拉取 Jenkins 镜像

    docker pull jenkins/jenkins
    
    • 1

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

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

    更多 TAG 版本的 Jenkins 可以查看 Docker Hub 官网:https://registry.hub.docker.com/r/jenkins/jenkins/tags

    🍒查看Jenkins镜像信息

    docker inspect jenkins/jenkins
    
    • 1

    在这里插入图片描述

    ⭐运行 Jenkins 容器

    🍒1、创建 Jenkins 挂载目录

    mkdir -p /data/jenkins_home
    chmod 777 /data/jenkins_home
    
    • 1
    • 2

    注意: 创建挂载目录的同时要给该目录配置权限 777,如果权限不足的话,到时进行目录挂载的时候会失败导致无法启动 Jenkins 容器。

    🍒2、创建并启动 Jenkins 容器

    docker run -d \
        -p 8888:8080 \
        -p 50000:50000 \
        -v /data/jenkins_home:/var/jenkins_home \
        -v /etc/localtime:/etc/localtime \
        --restart=always \
        --name=jenkins \
        jenkins/jenkins
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • -d:后台运行容器;
    • -p 8888:8080:将容器的 8080 端口映射到服务器的 8888 端口;
    • -p 50000:50000:将容器的 50000 端口映射到服务器的 50000 端口;
    • -v /data/jenkins_home:/var/jenkins_home:将容器中 Jenkins 的工作目录挂载到服务器的/data/jenkins_home;
    • -v /etc/localtime:/etc/localtime:让容器使用和服务器同样的时间设置;
    • --restart=always:设置容器的重启策略为 Docker 重启时自动重启;
    • --name=jenkins:给容器起别名;

    🍒3、查看是否启动成功

    查看是否在运行:

    [root@localhost ~]# docker ps -a
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                              NAMES
    a5f0ae5db965        jenkins/jenkins     "/usr/bin/tini -- ..."   4 minutes ago       Up 4 minutes        0.0.0.0:50000->50000/tcp, 0.0.0.0:8888->8080/tcp   jenkins
    
    • 1
    • 2
    • 3

    查看启动日志:

    [root@localhost ~]# docker logs jenkins
    Running from: /usr/share/jenkins/jenkins.war
    webroot: EnvVars.masterEnvVars.get("JENKINS_HOME")
    2022-07-07 03:06:58.305+0000 [id=1]	INFO	org.eclipse.jetty.util.log.Log#initialized: Logging initialized @630ms to org.eclipse.jetty.util.log.JavaUtilLog
    2022-07-07 03:06:58.404+0000 [id=1]	INFO	winstone.Logger#logInternal: Beginning extraction from war file
    
    ...
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    如果没有启动成功的话,可以排查一下挂载的目录是否正确,比如是否配了目录权限等。

    ⭐访问和初始化 Jenkins

    在访问 Jenkins 页面前,我们需要对 Jenkins 的插件配置内容修改成内容的镜像加速地址
    因为目录进行了挂载,可以直接在宿主机进行修改配置

    cd /data/jenkins_home/updates
    sed -i 's#https://updates.jenkins.io/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
    • 2
    • 3

    修改配置后重启jenkins

    docker restart jenkins
    
    • 1

    配置好后,访问 Jenkins 页面,地址为:IP + 容器的8080端口所映射到服务器上的端口
    在这里插入图片描述
    宿主机或者容器根据提示查看密码

    • 宿主机路径:/data/jenkins_home/secrets/initialAdminPassword
    • 容器路径:/var/jenkins_home/secrets/initialAdminPassword
    [root@localhost ~]# cat /data/jenkins_home/secrets/initialAdminPassword
    625123f5d4XXXXXXXXXe51fb897
    
    • 1
    • 2

    选择安装推荐的插件即可,下面是推荐的插件安装页面:
    在这里插入图片描述
    安装完成后,会进入管理员创建页面,可以选择使用admin账户继续,也可以创建一个新的管理员用户
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    还在付费下论文吗?快来跟我一起白piao知网
    vivo 容器集群监控系统架构与实践
    IP证书怎么申请,如何实现加密保护
    当开发人员无法解决问题时,测试人员应该如何与他们沟通?
    营销复盘秘籍,6步法让你的活动效果翻倍
    数据结构与算法训练:第二十九弹
    编程获取图像中的圆半径
    多线程的相关知识
    【一起学前端:HTML5+CSS3】01-前端简介
    算法 比较版本号-(同向双指针)
  • 原文地址:https://blog.csdn.net/weixin_46152207/article/details/125652884