详解Docker下搭建Jenkins构建环境

 更新时间:2017年05月20日 10:21:29   作者:西风小马  
这篇文章主要介绍了详解Docker下搭建Jenkins构建环境,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

首先需要搭建好docker环境的linux系统,这个教程多如牛毛,在此不再赘述。

然后编写一个dockerfile来生成一个镜像,dockerfile其实就是一系列命令的集合,有点像windows的批处理文件,

搭建Jenkins构建环境需要安装jdk、maven、tomcat、jenkins,另外还安装了GIT,用来构建GIT来源的代码,内容如下:

FROM centos:7 
# author info
MAINTAINER xulijian 514045152@qq.com
# install wget to download files
RUN yum install wget -y
# install git
RUN yum install git -y
RUN cd /opt
# download jdk
RUN wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz
# download maven
RUN wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz
# download tomcat
RUN wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.15/bin/apache-tomcat-8.5.15.tar.gz
# unzip jdk
RUN tar -xvf jdk-8u131-linux-x64.tar.gz -C /opt/
# unzip maven
RUN tar -xvf apache-maven-3.5.0-bin.tar.gz -C /opt/
# unzip tomcat
RUN tar -xvf apache-tomcat-8.5.14.tar.gz -C /opt
# set environment
ENV JAVA_HOME /opt/jdk1.8.0_131
ENV MAVEN_HOME /opt/apache-maven-3.5.0
ENV CLASSPATH .:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
# download jenkins
RUN wget -P /opt/apache-tomcat-8.5.14/webapps http://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.46.2/jenkins.war
# startup tomcat
CMD /opt/apache-tomcat-8.5.14/bin/catalina.sh run
# expose memcached port
EXPOSE 8080

然后执行构建命令

docker build -t liuge1988/jenkins:base -f /opt/test/dockerfile /opt/test

-t 要生成的镜像, user/repo:tag

-f dockerfile文件所在路径

/opt/test 可以是任意目录,要同步拷贝到新生成镜像的目录,用于初始化目录内容

执行完成之后,查看镜像是否正确生成。

docker images | grep Jenkins

 镜像生成之后,可以将镜像存储到docker hub, 以后要用的时候直接从docker hub上拉取下拉就好了

上传到docker hub,需要注册一个docker hub账号, 键入命令

docker login

根据提示输入用户名和密码,如果提示login success,则已经登录成功。

然后执行推送命令,将镜像上传到docker hub

docker push user/repo:tag

user/repo:tag 用户/仓库:镜像标签,如liuge1988/jenkins:base

生成镜像之后,就可以用此镜像启动一个具体的容器了。

docker run -d -i -t --name jenkins_procloud -p 8308:8080 liuge1988/jenkins:base

启动完成之后,执行命令查看容器是否运行成功。

docker images | grep Jenkins

 

容器其实就是一个轻量的linux,进入容器后跟linux系统是一样的,如果想进入容器,进行一些操作,可以执行以下命令。

docker exec -it containerId /bin/bash

 

要退出容器输入exit或Ctrl + D 就可以了。

进入tomcat的bin目录,启动tomcat

启动好tomcat之后就可以通过 主机ip:端口/jenkins 来访问jenkins了。

http://192.168.1.111:8308/jenkins

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • docker 在容器外执行某个容器内的某个命令操作

    docker 在容器外执行某个容器内的某个命令操作

    这篇文章主要介绍了docker 在容器外执行某个容器内的某个命令操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 关于ROS2安装与docker环境使用

    关于ROS2安装与docker环境使用

    大家好,本篇文章主要讲的是关于ROS2安装与docker环境使用,感兴趣的同学赶快来看看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Docker容器的Tengine实践

    Docker容器的Tengine实践

    Tengine是淘宝开发的基于nginx的应用服务器,反向代理服务器。它兼容nginx的所有配置,并且在其上增加了很多实用的功能,例如动态模块加载,集成lua语言进行扩展等,在性能方面有了比较大的改进。今天我们来看下在Docker下如何部署
    2016-06-06
  • Docker 部署RocketMQ的详细操作

    Docker 部署RocketMQ的详细操作

    这篇文章主要介绍了Docker 部署RocketMQ的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • Docker Compose快速部署多容器服务实战的实例详解

    Docker Compose快速部署多容器服务实战的实例详解

    使用 Docker Compose 可以轻松、高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具,本文给大家介绍Docker Compose快速部署多容器服务实战,感兴趣的朋友一起看看吧
    2022-02-02
  • docker如何对已经启动的容器添加目录映射(挂载目录)

    docker如何对已经启动的容器添加目录映射(挂载目录)

    当我们创建容器之后,不可避免会遇到修改配置文件的操作,下面这篇文章主要给大家介绍了关于docker如何对已经启动的容器添加目录映射(挂载目录)的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • 使用 VPS 下载 Docker 镜像并导入到本地服务器的过程

    使用 VPS 下载 Docker 镜像并导入到本地服务器的过程

    这篇文章主要介绍了使用 VPS 下载 Docker 镜像并导入到本地服务器,通过使用 VPS 下载 Docker 镜像并将其传输到本地服务器,我们可以克服网络限制,更灵活地管理和部署 Docker 镜像,需要的朋友可以参考下
    2024-08-08
  • 浅谈Docker consul的容器服务更新与发现

    浅谈Docker consul的容器服务更新与发现

    本文主要介绍了浅谈Docker consul的容器服务更新与发现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • 关于Docker网络配置及部署SpringCloud项目详解

    关于Docker网络配置及部署SpringCloud项目详解

    这篇文章主要介绍了关于Docker网络配置及部署SpringCloud项目详解,Docker在创建容器时有四种网络模式,bridge为默认不需要去指定,其他三种模式需要在创建容器时使用–net去指定,需要的朋友可以参考下
    2023-07-07
  • docker Dockerfile文件制作自己的镜像的方法

    docker Dockerfile文件制作自己的镜像的方法

    这篇文章主要介绍了docker Dockerfile文件制作自己的镜像的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12

最新评论