docker一键部署jenkins服务(一)

一、简介

1)docker是当前流行的容器技术,通过docker技术可以实现快速的部署常见的服务。
2)jenkins是当前主流的持续集成的工具和框架(CI),通过jenkins可以实现项目的智能化构建和测试。

二、jenkins的部署方式

传统的部署方式是下载jenkins.war包,并放置于tomcat容器中执行即可,但是这种方式相对比较繁杂,需要提前下载tomcat和jenkins等,并将jenkins.war包放置于tomcat下的webapps文件夹下,管理起来很麻烦。
这里我们介绍的是通过docker技术实现jenkins的快速部署和启动。

三、准备工作

1、准备一台linux服务器
2、linux服务器上已经安装好jdk和maven运行环境
3、linux服务器上已经安装好docker引擎服务(具体安装方式见官网链接: https://docs.docker.com/engine/install/centos/.)

四、下载jenkins镜像并运行容器

1)dockerhub中jenkins官方镜像信息
docker一键部署jenkins服务(一)_第1张图片
2)linux服务器中执行docker pull jenkins/jenkins:lts拉取下载最新的jenkins镜像,下载完毕执行docker images可以查看下载到linux本地的镜像信息
3)创建并运行容器(这一步是非常关键的一步),运行命令

docker run -d --name jenkins -v jenkins_home:/var/jenkins_home -v /usr/local/jdk1.8.0:/usr/local/jdk1.8.0 -v /usr/local/maven3.6.3:/usr/local/maven3.6.3 -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts

docker命令解释:

-d:后台运行
–name:容器名称,自定义
-v jenkins_home:/var/jenkins_home:将jenkins容器中的核心数据/var/jenkins_home映射到linux本地的jenkins_home目录下,这样做的目的是防止重启jenkins容器清空掉所有核心数据,“:”前面是linux本地环境,后面是jenkins容器内部的路径
-v /usr/local/jdk1.8.0:/usr/local/jdk1.8.0:将linux服务器的java环境映射到jenkins容器内部环境中
-v /usr/local/maven3.6.3:/usr/local/maven3.6.3:将linux服务器的maven环境映射到jenkins容器内部环境中
-p:端口,linux端口:容器内端口
jenkins/jenkins:lts:镜像名称

4)查看运行后的容器,执行命令:docker ps

CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                              NAMES
53fa7uuaaaa2        jenkins/jenkins:lts   "/sbin/tini -- /usr/…"   11 days ago         Up 11 days          0.0.0.0:8080->8080/tcp, 0.0.0.0:50000->50000/tcp   jenkins

此时可以看到容器已经运行起来啦,直接访问http://localhost:8080(localhost换成你linux服务器的公网ip)即可访问到jenkins页面,然后进行后续的详细设置,是不是很方便快捷?
5)查看挂载卷,执行命令:docker volume ls即可查看本地挂载卷的情况,也就是前面运行容器时设置的-v选项对应值,jenkins_home是本地挂载卷,它映射的是jenkins容器内部的/var/jenkins_home目录,修改挂载卷中的数据,会同步到容器内部;当容器停掉、重启或删除后,数据会保存到本地jenkins_home卷中,不会丢失,否则容器的重启、删除会导致容器内的数据全部丢失。

[root@RestAssuredDemo]# docker volume ls
DRIVER              VOLUME NAME
local               jenkins_home

执行命令:docker volume inspect jenkins_home可以查看jenkins_home数据卷的详细路径,进入该路径下即可查看到jenkins容器内部/var/jenkins_home路径下的相关数据。

[root@RestAssuredDemo]# docker volume inspect jenkins_home
[
    {
        "CreatedAt": "2021-04-12T14:48:08+08:00",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/jenkins_home/_data",
        "Name": "jenkins_home",
        "Options": null,
        "Scope": "local"
    }
]

6)进入容器内部的命令:执行命令:

[root@RestAssuredDemo]# docker exec -it 53fa2giboaaaa2 bash
jenkins@53fa2bfaaaa2:/$ ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

-it参数后面对应的是容器id,该命令可以进入容器内部环境;exit命令退出容器。
7)重启容器的命令:docker restart [容器名或容器id],即可重启jenkins服务
8)停止容器的命令:docker stop [容器名或容器id],可停掉jenkins服务。

你可能感兴趣的:(docker,jenkins,docker,jenkins)