使用 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 结束!

相关推荐
云和数据.ChenGuang4 小时前
envFrom 是一个 列表类型字段bug
大数据·云原生·容器·kubernetes·云计算·bug
Britz_Kevin4 小时前
从零开始的云计算生活——第三十八天,避坑落井,Docker容器模块
docker·容器·生活
半桔6 小时前
【STL源码剖析】从源码看 vector:底层扩容逻辑与内存复用机制
java·开发语言·c++·容器·stl
__Smile°6 小时前
Gitlab+Jenkins+K8S+Registry 建立 CI/CD 流水线
linux·ci/cd·docker·kubernetes·gitlab·jenkins
慕y2746 小时前
Java学习第一百零九部分——Jenkins(一)
java·学习·jenkins
Allenliu _Andy6 小时前
基于 Jenkins Pipeline 实现 DITA 文档自动化构建与发布(开源方案)
自动化·jenkins·技术文档·dita·git actions
only_Klein8 小时前
harbor仓库搭建(配置https)
网络协议·http·docker·https·harbor
mylove_北极甜虾9 小时前
OpenWebUI通过pipeline对接dify的workflow
运维·容器·dify·openwebui
求知若渴,虚心若愚。10 小时前
docker相关操作记录
docker·容器·eureka
运维小杨12 小时前
Docker的安装,服务器与客户端之间的通信
服务器·docker·容器