CentOS服务器部署Docker+Jenkins持续集成环境

一、准备工作

一台运行 CentOS 的服务器,确保有足够的磁盘空间、内存资源,并且网络连接稳定。建议使用 CentOS 7 或更高版本,本文以 CentOS 7 为例进行讲解。

拥有服务器的 root 权限,因为后续安装软件包、配置环境等操作需要较高权限。

二、安装 Docker

  1. 更新 yum 包索引:

    yum update -y

这一步确保我们能获取到最新的软件包信息。

  1. 安装必要的依赖包:

    yum install -y yum-utils device-mapper-persistent-data lvm2

这些依赖是 Docker 正常运行所必需的。

  1. 添加 Docker 官方 yum 源:

    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

  2. 安装 Docker CE(社区版):

    yum install -y docker-ce docker-ce-cli containerd.io

安装过程根据服务器性能和网络状况,可能需要花费一些时间。

  1. 启动 Docker 服务并设置开机自启:

    systemctl start docker

    systemctl enable docker

  2. 验证 Docker 是否安装成功,运行:

    docker --version

如果能显示出版本信息,说明 Docker 已成功安装在 CentOS 服务器上。

三、配置 Docker 镜像加速

由于 Docker 默认的镜像源在国内访问速度较慢,我们可以配置国内的镜像加速服务,比如使用阿里云镜像加速。

登录阿里云控制台,找到容器镜像服务,获取专属的镜像加速地址。

创建或编辑 /etc/docker/daemon.json 文件:

复制代码
{

  "registry-mirrors": \["你的阿里云镜像加速地址"]

}

重启 Docker 服务使配置生效:

复制代码
systemctl restart docker

四、安装 Jenkins

  1. 下载 Jenkins 的 yum 源:

    wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

  2. 导入 Jenkins 的 GPG 密钥:

    rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

  3. 安装 Jenkins:

    yum install -y jenkins

  4. 启动 Jenkins 服务并设置开机自启:

    systemctl start jenkins

    systemctl enable jenkins

Jenkins 默认运行在 8080 端口,此时在浏览器中输入服务器 IP 地址:8080,就能访问到 Jenkins 初始页面。

五、配置 Jenkins

  1. 首次访问 Jenkins 时,需要输入初始密码解锁。密码存放在服务器的 /var/lib/jenkins/secrets/initialAdminPassword 文件中,通过命令:

    cat /var/lib/jenkins/secrets/initialAdminPassword

获取密码并粘贴到浏览器中。

  1. 进入插件安装页面,可以选择安装推荐的插件,这些插件涵盖了常见的构建、测试等功能,方便快速搭建 CI 流程。等待插件安装完成。

  2. 创建管理员账号,填写用户名、密码等信息,完成 Jenkins 的基本配置。

六、集成 Docker 与 Jenkins

在 Jenkins 中安装 Docker 插件:

登录 Jenkins 控制台,进入 "系统管理"->"插件管理",在可选插件中搜索 "Docker" 并安装。

配置 Docker 连接:

在 "系统管理"->"系统设置" 中找到 "Docker" 部分,填写 Docker 服务器的 URL(一般为 unix:///var/run/docker.sock ),测试连接成功后保存。

至此,我们已经成功在 CentOS 服务器上部署了 Docker+Jenkins 持续集成环境。后续在 Jenkins 中创建项目任务,结合 Docker 的容器化优势,就能轻松实现代码的持续集成与快速部署,让软件开发流程更加高效、可靠。在实践过程中,不断根据项目特点优化配置,充分发挥这一强大组合的威力吧。

相关推荐
程序员老赵30 分钟前
Docker 部署 WordPress:轻松搭建开源内容管理平台
docker·开源·wordpress
sbjdhjd2 小时前
云安全 | 从特权容器到旧版 runC:Docker 宿主机访问与运行时缺陷复盘
运维·网络安全·docker·云原生·kubernetes·云计算·云安全
xiaoqiMikko2 小时前
Linux 实战(三):服务起不来、定时任务不执行 —— CentOS 7 / Rocky 9 / Ubuntu 24.04 实测差异
linux·centos
Pocker_Spades_A3 小时前
Penpot自托管设计协作:Docker部署、MCP接入与Codex生成UI实操记录
ui·docker·容器
Lvan的前端笔记13 小时前
docker:每个前端项目一个 Nginx 容器还是只有一个Nginx容器
前端·nginx·docker
sbjdhjd18 小时前
云安全 | Docker 容器逃逸复盘(三):docker.sock 挂载与 Docker-in-Docker 风险
经验分享·网络安全·docker·云原生·容器·kubernetes·云安全
帷幕落秋20 小时前
Docker的两种安装
运维·docker·容器
工业一体机老司机20 小时前
工业一体机选购后的系统部署:Ubuntu下Docker容器化运行与GPIO配置
linux·ubuntu·docker·人机交互
姜鱼问生1 天前
docker exec 排查容器问题:从日志到进程
运维·网络·数据库·docker·容器
人生百态,人生如梦1 天前
Ubuntu在低版本下使用ccswitch+claudecode(CCSwitch+Docker+Claude)连调教程
linux·ubuntu·docker·claudecode·ccswitch