6

Docker Compose安装部署Jenkins - 甜点cc

 1 year ago
source link: https://www.cnblogs.com/all-smile/p/16881486.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

流水线可以让项目发布流程更加清晰,docker可以大大减少Jenkins配置。

  1. 数据卷挂载到 /var 磁盘目录下,因为该磁盘空间较大,后面需要挂载容器数据卷,以防内存吃紧。

  2. 为了可以留存启动Jenkins服务的配置以及启停Jenkins方便,我采用 Docker Compose 部署(没有用到Compose的核心功能、没有关联容器,纯粹个人喜好😊,大佬们有更好的方式烦请指点一二,感谢😊)

先简单介绍一下 Docker Compose

2、Docker Compose

Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用。

Dockerfile 可以让用户管理一个单独的应用容器;而 Compose 则允许用户在一个模板(YAML 格式)中定义一组相关联的应用容器(被称为一个 project,即项目),例如一个 Web 服务容器再加上后端的数据库服务容器等。

该项目由 Python 编写,实际上调用了 Docker 提供的 API 来实现。

首先介绍几个术语。

  • 服务(service):一个应用容器,实际上可以运行多个相同镜像的实例。

  • 项目(project):由一组关联的应用容器组成的一个完整业务单元。

可见,一个项目可以由多个服务(容器)关联而成,Compose 面向项目进行管理。

这里忘记说怎么安装使用 Docker Compose 了,所以补了一篇 Docker Compose之容器编排开发初探,快来看看吧😊

下面演示单机部署Jenkins

3、通过docker-compoes来部署容器

  1. 创建 docker_jenkins_compose 文件夹

  2. docker_jenkins_compose 目录下创建 docker-compose.yml 文件

  3. 编写docker-compose.yml

# docker-compose.yml

version: '3'
services:                                      # 集合
  docker_jenkins:
    user: root                                 # 为了避免一些权限问题 在这我使用了root
    restart: always                            # 重启方式
    image: jenkins/jenkins:lts                 # 指定服务所使用的镜像 在这里我选择了 LTS (长期支持)
    container_name: jenkins                    # 容器名称
    ports:                                     # 对外暴露的端口定义
      - 8082: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
  1. 创建启停脚本文件: restart , start, stop, 并修改文件权限
# restart
docker-compose restart
# start
docker-compose up -d
# stop
docker-compose stop
  • 修改文件权限
chmod 777 restart start stop // 可读可写可执行

4、启动容器

./start

5、查看容器日志

  1. docker logs 'ContainerId'
    1037867-20221111185758387-825461550.png

生成Jenkins登录初始密码,一会登录的时候要用

  1. docker logs -f jenkins 查看实时日志

查看Jenkins状态

ps -ef | grep jenkins

6、宿主机访问jenkins主目录

# 容器内/var/jenkins_home挂载目录

/var/vol_dockers/jenkins_home

7、登录Jenkins

浏览器打开 http://主机ip:8082, 端口就是yaml文件种配置的映射端口。

1037867-20221111185758878-1755783732.png
1037867-20221111185759393-1725515928.png
1037867-20221111185759891-533641843.png

8、启动问题及处理

宿主机里访问 localhost:8082

curl localhost:8082
Authentication required

防火墙要开放 500008082 端口,同时也要配置阿里云安全组规则

本篇完,以后启停Jenkins服务可以直接执行上面配置的可执行文件即可,比较方便。后面接着开始创建jenkins用户,配置Jenkins。
1037867-20221111185800384-807812189.png

我是 甜点cc

微信公众号:【看见另一种可能】

热爱前端开发,也喜欢专研各种跟本职工作关系不大的技术,技术、产品兴趣广泛且浓厚。本号主要致力于分享个人经验总结,希望可以给一小部分人一些微小帮助。

希望能和大家一起努力营造一个良好的学习氛围,为了个人和家庭、为了我国的互联网物联网技术、数字化转型、数字经济发展做一点点贡献。数风流人物还看中国、看今朝、看你我。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK