使用 docker-compose 部署 Jenkins

注:我是在虚拟机(Ubuntu)上部署了 docker-compose,然后才使用 docker-compose 部署 Jenkins!

关于如何在 Ubuntu 部署 docker-compose,可以看我其它的文章。

本文目录

  • [1. 创建 docker_jenkins_compose 目录](#1. 创建 docker_jenkins_compose 目录)
  • [2. 创建 docker-compose.yml 文件](#2. 创建 docker-compose.yml 文件)
  • [3. 编写 docker-compose.yml 文件](#3. 编写 docker-compose.yml 文件)
  • [4. 启动 Jenkins 容器](#4. 启动 Jenkins 容器)
  • [5. 访问 Jenkins Web 界面](#5. 访问 Jenkins Web 界面)
  • [6. 获取初始密码](#6. 获取初始密码)
  • [7. 设置 Jenkins](#7. 设置 Jenkins)

1. 创建 docker_jenkins_compose 目录

shell 复制代码
mkdir docker_jenkins_compose

2. 创建 docker-compose.yml 文件

  • docker_jenkins_compose 目录下创建 docker-compose.yml 文件:
shell 复制代码
cd docker_jenkins_compose
touch docker-compose.yml

3. 编写 docker-compose.yml 文件

  • 进入 docker-compose.yml 文件:
shell 复制代码
vim docker-compose.yml
  • 按下键盘上的 i ,进入可以编写的模式。
  • 将下面的内容复制到 docker-compose.yml 文件中:
sh 复制代码
version: '3'
services:                                      # 集合
  docker_jenkins:
    user: root                                 # 为了避免一些权限问题,这里使用了 root
    restart: always                            # 重启方式
    image: jenkins/jenkins:lts                 # 指定服务所使用的镜像,这里选择了 LTS (长期支持)
    container_name: jenkins                    # 容器名称
    ports:                                     # 对外暴露的端口定义
      - 8080:8080                              # 访问 Jenkins 服务端口
      - 50000:50000
    volumes:                                   # 卷挂载路径
      - /var/vol_dockers/jenkins_home/:/var/jenkins_home  # 这是我们一开始创建的目录挂载到容器内的 jenkins_home 目录
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/bin/docker:/usr/bin/docker                # 这是为了我们可以在容器内使用 docker 命令
      - /usr/local/bin/docker-compose:/usr/local/bin/docker-compose
  • 粘贴之后,先按 Esc 键,然后输入 :wq 保存并退出。

4. 启动 Jenkins 容器

  • 在终端中,进入 Jenkins 项目文件夹并运行以下命令启动 Jenkins 容器:
shell 复制代码
docker-compose up -d

等待片刻,直到 Jenkins 容器成功启动。

  • 启动之后,可以使用下面的命令查看是否成功:
shell 复制代码
docker ps

5. 访问 Jenkins Web 界面

  • 打开浏览器,访问 http://192.168.129.132:8080

注:192.168.129.132 是你的服务器的 IP 地址,我这里是虚拟机(Ubuntu)的 IP 地址,可以通过 ifconfig 命令查看。

  • 如果你在 Docker 宿主机上有其他服务使用了 8080 端口,你可以修改 docker-compose.yml 文件中的端口映射来使用其他端口。例如,将 8080:8080 修改为 8888:8080,将会使用 8888 端口访问 Jenkins。

6. 获取初始密码

  • 查看容器日志:
shell 复制代码
docker logs <容器ID>
  • 获取初始密码:
shell 复制代码
# 进入容器
docker exec -it <容器名>/<容器ID> /bin/bash

# 查看密码
cat /var/jenkins_home/secrets/initialAdminPassword
  • 可以得到初始密码为:
sh 复制代码
bcfde5bc26a14da4b91f1ac9d6e1c67b
  • 将获取到的密码复制粘贴,填入到 Web 页面的【管理员密码】,然后点击【继续】:
  • 然后跳转到下面这个界面:

7. 设置 Jenkins

  • 点击【安装推荐的插件】:
  • 然后跳转到下面这个界面:
  • 漫长的等待之后跳转到下面这个界面:
  • 填写表单信息,然后点击【保存并完成】:
  • 点击【保存并完成】:
  • 点击【开始使用Jenkins】:
  • 最后跳转到下面这个界面:

至此,使用 docker-compose 部署 Jenkins 结束!

相关推荐
qq_452396233 小时前
第十篇:《Dockerfile 最佳实践与镜像瘦身》
docker
Plastic garden3 小时前
Docker(1)
运维·docker·容器
gs801405 小时前
网络隐形杀手:从 Could not connect to SMTP host 报错深度剖析 Docker MTU 黑洞理论与实战
网络·docker·容器
程序猿阿伟5 小时前
《一套完整方法论:搞定图形应用的Docker镜像优化》
数据库·docker·容器
java_logo6 小时前
2026 Docker 国内镜像加速配置教程
运维·docker·容器·docker镜像·docker镜像源·docker镜像加速·docker镜像国内库
tianyuanwo7 小时前
Jenkins × Gerrit 集成:自动触发构建的全流程解析
运维·servlet·jenkins
IT策士7 小时前
Docker从0到1再到 Kubernetes 实战:第15篇Compose 中的服务依赖、健康检查与启动顺序
docker·容器·kubernetes
Waay7 小时前
K8s Deployment 滚动更新与回滚深度详解(含踩坑实录+生产选型原理)
云原生·容器·kubernetes
“码”力全开7 小时前
深度解析:基于 Docker 与边缘计算的 AI 视频管理平台架构——打通 GB28181/RTSP 协议与“源码交付”的高效集成方案
人工智能·docker·边缘计算
顾默@7 小时前
双系统Ubuntu18.04升级22.04,安装docker进行openclaw安装
运维·docker·容器