使用docker安装最新版本的Jenkins并完成初始化操作

艺帆风顺 发布于 2025-04-03 31 次阅读


一、获取镜像

    获取官方最新版镜像,安装老版本可能会存在插件无法正常安装的情况,处理起来比较麻烦。

    在此查看具体版本:

    https://hub.docker.com/r/jenkins/jenkins/tags

    docker pull jenkins/jenkinsdocker pull jenkins/jenkins:2.414.1-lts-jdk11docker pull jenkins/jenkins:2.421docker pull jenkins/jenkins:2.421-jdk11

    二、创建挂载目录并授权权限

      mkdir -p /var/jenkins_mount
      chmod 777 /var/jenkins_mount

      三、创建并启动Jenkins容器

      docker run -d -p :8080 -p 10241:50000 -v /var/jenkins_mount:/var/jenkins_home -v /etc/localtime:/etc/localtime --name myjenkins jenkins/jenkins
      docker run -d -p 8888:8080 -p 10241:50000 -v /var/jenkins_mount:/var/jenkins_home -v /etc/localtime:/etc/localtime --name myjenkins jenkins/jenkins
      docker run -u root -d -p 8888:8080 -p 10241:50000 -v /var/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime --name rootjenkins --restart=always --privileged=true rootjenkins

      备注:生成一个随机端口号访问,或者使用8888端口运行

        docker run: 这是Docker的基本命令,用于运行一个新的容器。
        -d: 这个选项让容器在后台运行。
        -p :8080: 这个选项将容器的8080端口映射到主机的随机未分配的端口。
        -p 10241:50000: 这个选项将容器的50000端口映射到主机的10241端口。这样,你可以通过访问主机的10241端口来访问Jenkins的Web界面。
        -v /var/jenkins_mount:/var/jenkins_home: 这个选项将主机上的/var/jenkins_mount目录挂载到容器的/var/jenkins_home目录。这是为了持久化Jenkins的数据。
        -v /etc/localtime:/etc/localtime: 这个选项将主机的本地时间文件挂载到容器的本地时间文件。这样,无论主机的时间如何变化,Jenkins容器的时间都将保持不变。
        --name myjenkins: 这个选项给容器指定了一个名称,这里是"myjenkins"。

        查看初始化密码:

        # docker logs myjenkins

          Jenkins initial setup is required. An admin user has been created and a password generated.Please use the following password to proceed to installation:
          f6aa5c26b4844500b2a920dc8404e250

          四、配置Jenkins镜像加速

            # cd /var/jenkins_mount/
            vi hudson.model.UpdateCenter.xml 修改为:清华大学官方镜像 default https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

            五、Jenkins初始化

               访问 http://192.168.3.66:32768

                随后安装推荐的组件,安装完毕后进行登录,jenkins则安装完成。


            更改系统时区为上海:

            System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')