一、实验环境

git                      192.168.200.71

jenkins       192.168.200.72

docker               192.168.200.73

[root@web ~]# systemctl stop firewalld
[root@web ~]# iptables -F
[root@web ~]# setenforce 0

二、安装docker-ce

1、安装依赖环境

[root@jenkins ~]# yum -y install yum-utils device-mapper-persistent-data  lvm2

2、准备镜像源

[root@jenkins ~]# curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo

3、安装docker-ce

[root@jenkins ~]# yum -y install docker-ce

4.启动docker

[root@docker ~]# systemctl start docker
[root@docker ~]# systemctl enable docker
[root@docker ~]# docker version          
5、阿里云镜像加速器
https://account.aliyun.com         #阿里云网站

针对Docker客户端版本大于 1.10.0 的用户

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

[root@docker ~]# cat <<EOF>/etc/docker/daemon.json
{
  "registry-mirrors": ["https://你的阿里云镜像加速器.com"]
}
EOF
[root@docker ~]# systemctl daemon-reload    #重新加载配置 
[root@docker ~]# systemctl restart docker    #重启服务
 
三、Tomcat基础镜像
下载一个纯净的镜像

[root@web ~]# ls
anaconda-ks.cfg            
centos-7-x86_64.tar.gz

将镜像导入到docker容器中

[root@web ~]# cat centos-7-x86_64.tar.gz | docker import - centos:7
sha256:f6eb67031cab4819c9456581efbba632e5ba3b5339090ee484e60137f264c01f
[root@web ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos                           7        f6eb67031cab        41 seconds ago      589MB

[root@web ~]# mkdir docker-tomcat
[root@web ~]# cd docker-tomcat/
[root@web docker-tomcat]# ls
apache-tomcat-8.5.16.tar.gz  jdk-8u191-linux-x64.tar.gz
[root@web docker-tomcat]# vim Dockerfile
 
FROM centos:7
MAINTAINER from crushlinux <crushlinux@163.com>
#copy jdk and tomcat into image
ADD ./apache-tomcat-8.5.16.tar.gz /usr/local/
ADD ./jdk-8u191-linux-x64.tar.gz /usr/local
#set variable
ENV JAVA_HOME /usr/local/jdk1.8.0_191
ENV PATH $JAVA_HOME/bin:$PATH
#container starts up
ENTRYPOINT /usr/local/apache-tomcat-8.5.16/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.5.16/logs/catalina.out
[root@web docker-tomcat]# docker build -t tomcat:v1 ./                  #基于当前下进行构建镜像
[root@web docker-tomcat]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE
tomcat                 v1                  f46aebf0e2d2        About a minute ago   999MB
centos                 7                   f6eb67031cab        15 minutes ago       589MB
 
 
四、配置jenkins环境

配置git

git@192.168.200.71:/home/git/probe.git

选择Build

target/dist/**/*

/data

scp 192.168.200.72:/var/lib/jenkins/workspace/probe/web/target/probe.war /data/ docker run-itd--name tomcat-test-p 8090:8080-v /data:/usr/local/apache-tomcat-8.5.16/webapps tomcat:v1

基于jenkins自动打包并部署docker环境的更多相关文章

  1. 基于jenkins自动打包并部署docker环境及PHP环境

  2. 基于jenkins自动打包并部署Tomcat环境

    传统网站部署的流程 在运维过程中,网站部署是运维的工作之一.传统的网站部署的流程大致分为:需求分析->原型设计->开发代码->提交代码->内网部署->内网测试->确 ...

  3. Jenkins自动打包并部署(以java -jar形势运行)

    1.打包 与平常maven项目打包一致,不再赘述 2.杀死原有进程 通过 pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' ` 获取当前 ...

  4. [转]基于boot2docker部署Docker环境

    本文转自:https://www.cnblogs.com/52fhy/p/8413029.html Docker轻量级的特性使得我们可以快速打包开发环境:一处编译,到处使用.我们可以在第一次编译好需要 ...

  5. 基于boot2docker部署Docker环境

    Docker轻量级的特性使得我们可以快速打包开发环境:一处编译,到处使用.我们可以在第一次编译好需要的开发环境,然后把镜像导出打包,只有有docker环境,便可以快速还原原来的开发环境. 很常用的一个 ...

  6. Android Jenkins自动打包纪录

    关于Jenkins自动打包Android的apk包,网上官方的太多,这里简单纪录一下博主的经历和打包的参数纪录 (本篇文章需要对Jenkins有最基本的基础了解) 博主所在公司曾负责app测试过程中发 ...

  7. Net 项目构建基于Jenkins + Github + Mono 的持续集成环境

    Net 项目构建基于Jenkins + Github + Mono 的持续集成环境 阅读目录 1 安装 2 配置 3 测试 在Redhat enterprise 6.5 的服务器上,为在gutub 上 ...

  8. Jenkins自动打包配置

    当时也是花费了不少时间来配置Jenkins自动打包的问题,觉得还是需要记录一下. 1.安装Jenkins,这个很简单,不需要多说. 2.下载Git Plugin,Gradle Plugin,Andro ...

  9. jenkins自动打包生成docker镜像后自动发布并nginx代理访问

    之前曾写过docker及jenkins基础使用  https://www.cnblogs.com/xiaochangwei/category/816943.html 现在搭建环境的功能为: 1.jen ...

随机推荐

  1. MQTT协议实现Android中的消息收发

    前言 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输),基于发布/订阅范式的消息协议,是一种极其简单和轻量级的消息协议,专为受限设备和低带宽.高延迟 ...

  2. C/C++知识总结 五 复合数据类型 壹(数组、字符串与string、结构)

    C/C++复合数据类型 壹(数组.结构) 数组 数组的意义.定义与创建 一.二维数组应用 字符数组与字符串处理函数 数组与指针---关系密切 数组的意义与定义创建 意义:反映数据间的特点(通过把同一类 ...

  3. 《Python Enhancement Proposal #8》要点 学习摘录

    <Python Enhancement Proposal #8> (8号python增强提案)又叫PEP8,他针对的python代码格式而编订的风格指南. 空白 使用space来表示缩进, ...

  4. 吐槽,Java 设计的槽点

    今天不灌水,直接上干货!希望下面的讲解,能与你产生一些共鸣. 1. 求长度各有千秋 你是否曾经在面试的时候,经常被问到:数组有没有 length() 方法?字符串有没有 length() 方法? 集合 ...

  5. 用命令在本地创建github仓库

    问题 每次创建github仓库,都要到github官网,有点麻烦,想在本地直接创建github仓库,写好项目后直接push. 操作系统:linux 步骤 1, 首先在github申请一个私人api t ...

  6. 使用 Spring data redis 结合 Spring cache 缓存数据配置

    使用 JavaConfig 方式配置 依赖 jar 包: jedis.spring-data-redis 首先需要进行 Redis 相关配置 @Configuration public class R ...

  7. K:leetcode 5381.查询带键的排列 这题简单,但我还能优化。精益求精,才是算法的乐趣所在!

    前言: 本题来自leetcode第184场周赛的第二小题.以前参加过周赛,觉得很有趣.苦于最近一段时间比较忙就没坚持参加了(实际上是借口来着....),由于昨晚思考一些事情,导致睡不着,所以起得有点早 ...

  8. 浅谈 PCA与SVD

    前言 在用数据对模型进行训练时,通常会遇到维度过高,也就是数据的特征太多的问题,有时特征之间还存在一定的相关性,这时如果还使用原数据训练模型,模型的精度会大大下降,因此要降低数据的维度,同时新数据的特 ...

  9. Java第二十天,Map集合(接口)

    Map接口 一.定义 Map集合是双列集合,即一个元素包含两个值(一个key,一个value),Collection集合是单列集合. 定义格式: public interface Map<K,V ...

  10. Python设计模式(5)-代理模式

    # coding=utf-8 # 代理模式:# * 代理类成为实际想调用对象的中间件,可以控制对实际调用对象的访问权限# * 可以维护实际对象的引用 class DbManager: def __in ...