流水线能够让我的项目公布流程更加清晰,docker能够大大减少Jenkins配置。

1、前言

  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 面向我的项目进行治理。

上面演示单机部署Jenkins

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

  1. 创立 docker_jenkins_compose 文件夹
  2. docker_jenkins_compose 目录下创立 docker-compose.yml 文件
  3. 编写docker-compose.yml
# docker-compose.ymlversion: '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, 并批改文件权限
  • 创立文件

    # restartdocker-compose restart
    # startdocker-compose up -d
    # stopdocker-compose stop
  • 批改文件权限
chmod 777 restart start stop // 可读可写可执行

4、启动容器

./start

5、查看容器日志

  1. docker logs 'ContainerId'

生成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

8、启动问题及解决

宿主机里拜访 localhost:8082

curl localhost:8082Authentication required

防火墙要凋谢 500008082 端口,同时也要配置阿里云平安组规定

防火墙相干的能够参考掘金文章

本篇完,当前启停Jenkins服务能够间接执行下面配置的可执行文件即可,比拟不便。前面接着开始创立jenkins用户,配置Jenkins。

继续更文,关注我,你会发现一个虚浮致力的宝藏前端,让咱们一起学习,独特成长吧。

喜爱的小伙伴记得点赞关注珍藏哟,回看不迷路

欢送大家评论交换, 蟹蟹