首页主机资讯Jenkins在Linux怎样进行容器化部署

Jenkins在Linux怎样进行容器化部署

时间2025-10-04 03:38:03发布访客分类主机资讯浏览1486
导读:一、环境准备 安装Docker引擎 更新系统包并卸载旧版本(若已安装):# CentOS 7示例 yum update -y && yum remove -y docker docker-common docker-s...

一、环境准备

  1. 安装Docker引擎

    • 更新系统包并卸载旧版本(若已安装):
      # CentOS 7示例
      yum update -y &
          &
           yum remove -y docker docker-common docker-selinux docker-engine
      # Ubuntu 20.04示例
      apt update -y &
          &
           apt remove -y docker docker-engine docker.io containerd runc
      
    • 安装必要依赖:
      yum install -y yum-utils device-mapper-persistent-data lvm2  # CentOS
      apt install -y apt-transport-https ca-certificates curl software-properties-common  # Ubuntu
      
    • 添加Docker官方镜像源并安装:
      # CentOS
      yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
      yum install -y docker-ce
      # Ubuntu
      add-apt-repository "deb [arch=amd64] $(lsb_release -cs) stable"
      apt install -y docker-ce
      
    • 启动Docker并设置开机自启:
      systemctl start docker &
          &
           systemctl enable docker
      
    • 验证安装:
      docker --version  # 应输出Docker版本信息
      
  2. 拉取Jenkins镜像
    推荐使用LTS(长期支持)版本以保证稳定性:

    docker pull jenkins/jenkins:lts
    

二、Jenkins容器部署

  1. 运行Jenkins容器
    执行以下命令启动容器,关键参数说明:

    • -d:后台运行容器;
    • --name jenkins:指定容器名称为jenkins
    • -p 8080:8080:将容器8080端口映射到主机8080端口(Web界面);
    • -p 50000:50000:将容器50000端口映射到主机50000端口(Jenkins代理通信);
    • -v jenkins-data:/var/jenkins_home:将容器内Jenkins数据目录挂载到Docker卷jenkins-data(持久化数据,避免容器删除后数据丢失);
    • -v /var/run/docker.sock:/var/run/docker.sock:挂载主机Docker套接字,允许Jenkins直接调用主机Docker API(用于构建Docker镜像等场景);
    • -e JAVA_OPTS="-Duser.timezone=Asia/Shanghai -Xmx2g -Xms512m":设置Jenkins时区(可选)及JVM内存参数(根据服务器配置调整)。
    docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -e JAVA_OPTS="-Duser.timezone=Asia/Shanghai -Xmx2g -Xms512m" jenkins/jenkins:lts
    
  2. 获取初始管理员密码
    容器启动后,通过以下命令获取初始密码(用于解锁Jenkins):

    docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
    

    复制输出的密码,后续用于Web界面解锁。

  3. 访问Jenkins Web界面
    在浏览器中输入http://< 服务器IP> :8080,输入上述获取的初始密码,进入Jenkins初始化页面。

三、Jenkins初始化配置

  1. 安装插件

    • 选择“安装推荐的插件”(快速搭建基础环境),或手动选择所需插件(如GitMavenDockerPipeline等);
    • 插件安装完成后,重启Jenkins(部分插件可能需要重启生效)。
  2. 创建管理员用户
    在“创建第一个管理员用户”页面,填写用户名、密码、邮箱等信息,点击“保存并完成”。

  3. 完成初始化
    点击“开始使用Jenkins”,进入Jenkins主界面。

四、生产环境优化建议

  1. 使用Docker Compose管理容器
    创建docker-compose.yml文件(简化容器启停及配置管理):

    version: '3.8'
    services:
      jenkins:
        image: jenkins/jenkins:lts
        container_name: jenkins
        ports:
          - "8080:8080"
          - "50000:50000"
        volumes:
          - jenkins-data:/var/jenkins_home
          - /var/run/docker.sock:/var/run/docker.sock
        environment:
          - TZ=Asia/Shanghai
          - LANG=en_US.UTF-8
        restart: always  # 容器异常退出时自动重启
    volumes:
      jenkins-data:
    

    启动容器:

    docker-compose up -d
    
  2. 数据持久化增强

    • jenkins-data卷挂载到宿主机高可用存储路径(如/mnt/jenkins-data),避免单点故障;
    • 定期备份jenkins-data卷(可使用docker run --rm -v jenkins-data:/volume -v $(pwd):/backup busybox tar czf /backup/jenkins-backup.tar.gz -C /volume .命令)。
  3. 安全加固

    • 修改Jenkins默认端口(如将8080改为8081),避免暴露在公网;
    • 配置Jenkins认证(如LDAP、GitHub OAuth),限制访问权限;
    • 定期更新Jenkins镜像及插件,修复安全漏洞。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Jenkins在Linux怎样进行容器化部署
本文地址: https://pptw.com/jishu/719502.html
Debian挂载硬盘分区需要注意什么 Linux中Jenkins如何进行性能调优

游客 回复需填写必要信息