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

相关推荐
会飞的小蛮猪1 天前
Jenkins运维之路(Slave容器节点)
运维·ci/cd·jenkins
杨杨杨大侠1 天前
案例03-附件E-部署运维
java·docker·github
Java陈序员1 天前
直播录制神器!一款多平台直播流自动录制客户端!
python·docker·ffmpeg
水冗水孚1 天前
你用过docker部署前端项目吗?Tell Me Why 为何要用docker部署前端项目呢?
ubuntu·docker·容器
飞询1 天前
docker 部署 sftp
运维·docker
云偶2 天前
从零搭建 Jenkins Android 自动发包体系
jenkins
小Wang2 天前
npm私有库创建(docker+verdaccio)
前端·docker·npm
libraG3 天前
Jenkins打包问题
前端·npm·jenkins
容器魔方4 天前
Bloomberg 正式加入 Karmada 用户组!
云原生·容器·云计算
muyun28004 天前
Docker 下部署 Elasticsearch 8 并集成 Kibana 和 IK 分词器
elasticsearch·docker·容器