Jenkins在Linux怎样进行容器化部署
导读:一、环境准备 安装Docker引擎 更新系统包并卸载旧版本(若已安装):# CentOS 7示例 yum update -y && yum remove -y docker docker-common docker-s...
一、环境准备
-
安装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版本信息
- 更新系统包并卸载旧版本(若已安装):
-
拉取Jenkins镜像
推荐使用LTS(长期支持)版本以保证稳定性:docker pull jenkins/jenkins:lts
二、Jenkins容器部署
-
运行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
-
获取初始管理员密码
容器启动后,通过以下命令获取初始密码(用于解锁Jenkins):docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
复制输出的密码,后续用于Web界面解锁。
-
访问Jenkins Web界面
在浏览器中输入http://< 服务器IP> :8080
,输入上述获取的初始密码,进入Jenkins初始化页面。
三、Jenkins初始化配置
-
安装插件
- 选择“安装推荐的插件”(快速搭建基础环境),或手动选择所需插件(如
Git
、Maven
、Docker
、Pipeline
等); - 插件安装完成后,重启Jenkins(部分插件可能需要重启生效)。
- 选择“安装推荐的插件”(快速搭建基础环境),或手动选择所需插件(如
-
创建管理员用户
在“创建第一个管理员用户”页面,填写用户名、密码、邮箱等信息,点击“保存并完成”。 -
完成初始化
点击“开始使用Jenkins”,进入Jenkins主界面。
四、生产环境优化建议
-
使用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
-
数据持久化增强
- 将
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 .
命令)。
- 将
-
安全加固
- 修改Jenkins默认端口(如将8080改为8081),避免暴露在公网;
- 配置Jenkins认证(如LDAP、GitHub OAuth),限制访问权限;
- 定期更新Jenkins镜像及插件,修复安全漏洞。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Jenkins在Linux怎样进行容器化部署
本文地址: https://pptw.com/jishu/719502.html