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

相关推荐
Moss Huang7 小时前
docker-runc not installed on system
java·docker·容器
麦兜*8 小时前
Spring Boot 集成 Docker 构建与发版完整指南
java·spring boot·后端·spring·docker·系统架构·springcloud
GeminiJM12 小时前
Elasticsearch数据迁移方案深度对比:三种方法的优劣分析
大数据·elasticsearch·jenkins
辉辉健身中12 小时前
docker和k8s的区别
docker·容器·kubernetes
2401_8315017313 小时前
Linux之Docker虚拟化技术(一)
java·linux·docker
Json_13 小时前
使用Docker部署ZLMediaKit流媒体服务器实现gb/t28181协议的设备
服务器·docker·容器
SRE工程师14 小时前
Docker的端口映射问题(庖丁解牛)
运维·docker·容器
Aurora-silas15 小时前
Docker 入门指南:从基础概念到常见命令及高级工具详解
运维·docker·容器
无聊的HZ15 小时前
docker常用命令有哪些
运维·docker·容器
●VON15 小时前
如何通过docker进行本地部署?
java·docker·容器