配置maven

在pom.xml加入

1
2
3
4
5
6
7
8
9
10
11
12
13
<plugins>
    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
            <url>https://192.168.1.106:8081/manager/text</url>
            <server>tomcat</server>
            <username>deploy</username>
            <password>deploy</password>
        </configuration>
    </plugin>
</plugins>

在maven的settings.xml加入

1
2
3
4
5
<server>
      <id>tomcat</id>
      <username>deploy</username>
      <password>deploy</password>
  </server>

创建个人的Docker镜像

创建Dockerfile文件

1
2
3
mkdir -p /usr/local/dockerfile/massive
cd /usr/local/dockerfile/massive
touch Dockerfile

编辑Dockerfile

1
2
3
from tomcat:7
MAINTAINER massive
ADD tomcat-users.xml /usr/local/tomcat/conf/

注:tomcat-users.xml可以在tomcat/conf目录找到,拷贝一个到此目录

在tomcat-users.xml加入以下内容

1
2
3
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="deploy" password="deploy" roles="manager-gui, manager-script"/>

build这个镜像

1
docker build -t massive:tomcat .

运行个人定制的Docker镜像

1
docker run -p 8081:8080  massive:tomcat

将web应用部署至容器里运行的tomcat

1
mvn tomcat7:deploy

web应用会通过tomcat的部署机制拷贝至容器的 /usr/local/tomcat/webapps/${project} 下,当Docker容器关闭后,容器内的改动不会保存至镜像,也就是说拷贝至容器的web应用会在容器关闭后被删除。

配置maven

在pom.xml加入

1
2
3
4
5
6
7
8
9
10
11
12
13
<plugins>
    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
            <url>https://192.168.1.106:8081/manager/text</url>
            <server>tomcat</server>
            <username>deploy</username>
            <password>deploy</password>
        </configuration>
    </plugin>
</plugins>

在maven的settings.xml加入

1
2
3
4
5
<server>
      <id>tomcat</id>
      <username>deploy</username>
      <password>deploy</password>
  </server>

创建个人的Docker镜像

创建Dockerfile文件

1
2
3
mkdir -p /usr/local/dockerfile/massive
cd /usr/local/dockerfile/massive
touch Dockerfile

编辑Dockerfile

1
2
3
from tomcat:7
MAINTAINER massive
ADD tomcat-users.xml /usr/local/tomcat/conf/

注:tomcat-users.xml可以在tomcat/conf目录找到,拷贝一个到此目录

在tomcat-users.xml加入以下内容

1
2
3
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="deploy" password="deploy" roles="manager-gui, manager-script"/>

build这个镜像

1
docker build -t massive:tomcat .

运行个人定制的Docker镜像

1
docker run -p 8081:8080  massive:tomcat

将web应用部署至容器里运行的tomcat

1
mvn tomcat7:deploy

web应用会通过tomcat的部署机制拷贝至容器的 /usr/local/tomcat/webapps/${project} 下,当Docker容器关闭后,容器内的改动不会保存至镜像,也就是说拷贝至容器的web应用会在容器关闭后被删除。

使用maven插件自动部署web应用至Docker容器的tomcat的更多相关文章

  1. 使用jenkins 插件自动部署项目至tomcat

    前面使用maven.ant编译项目就不说,只说一下使用jenkins的插件自动部署项目 1.首先jenkins安装插件Deploy to container Plugin ,下载地址为:https:/ ...

  2. 15.自动部署web工程

    用maven自动部署web工程 在pom.xml中写入以下: <build> <!--最终名称,进入网页时有http://localhost:8080/xxx/--> < ...

  3. Gitlab CI 自动部署 asp.net core web api 到Docker容器

    为什么要写这个? 在一个系统长大的过程中会经历不断重构升级来满足商业的需求,而一个严谨的商业系统需要高效.稳定.可扩展,有时候还不得不考虑成本的问题.我希望能找到比较完整的开源解决方案来解决持续集成. ...

  4. IDEA自动部署WEB工程至远程服务器(学习笔记)

    一.部署Web工程的几种方式 ①本地打war,上传至远程服务器tomcat容器即可 优点:简单粗暴 缺点:浪费时间 ②IDEA自动部署至远程服务器 优点:节省大量时间 缺点:配置稍多(第一次) 二.I ...

  5. windows环境下利用Gitblit搭建Git服务器并实现自动部署Web站点目录

    Git服务搭建多见于linux环境,但windows主机也不少,目前网上文章诸多不全,且以讹传讹,不甚清楚.下面介绍windows环境下的自动部署和发布. 所需环境及资源:Java环境.Gitblit ...

  6. idea新建maven项目后生成web.xml方法和添加到tomcat方法

    idea新建maven项目后生成web.xml方法和添加到tomcat方法 参考:https://www.cnblogs.com/Liang-Haishan216/p/9302141.html 1.首 ...

  7. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录

    0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.感谢 在此感谢.net ...

  8. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之集群部署环境规划(一)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.环境规划 软件 版本 ...

  9. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之自签TLS证书及Etcd集群部署(二)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.服务器设置 1.把每一 ...

随机推荐

  1. [golang note] 流程控制

    流程控制 • 流程控制语句作用 ▪ 选择:根据条件跳转到不同的执行序列. ▪ 循环:根据条件反复执行某个序列. ▪ 跳转:据条件返回到某执行序列. • 流程控制语句类型 ▪ 条件语句:关键字为if.e ...

  2. 8种主要排序算法的C#实现 (二)

    归并排序 归并排序也是采用“分而治之”的方式.刚发现分治法是一种算法范式,我还一直以为是一种需要意会的思想呢. 不好意思了,孤陋寡闻了,哈哈! 原理:将两个有序的数列,通过比较,合并为一个有序数列.  ...

  3. 安装memcached扩展

    1.wget http://pecl.php.net/package/memcache  下载相对应的扩展包 2. tar -zxvf memcache-2.2.7.tgz 3.  cd memcac ...

  4. Webpack+React+ES6 最新环境搭建和配置(2017年)

    刚刚学习React,发现React在ES6下的语法才是本体,结合ES6新的语言特性,使组件化开发显得更加直观.而且现在的Angular2也开始使用支持强类型的TypeScript,转译(transpi ...

  5. 【二分+SPFA】修建道路(road)

    (四五年以前的老草稿,作为强迫症还是发布出来吧) 修建道路(road.pas/c/cpp) [问题描述] NOIP2012的参赛者LG异想天开打算修建一条磁悬浮列车的通道连接现代OI王国的首都(编号为 ...

  6. Python面试题之Python迭代器

    要理解迭代器,首先要从字面意思来说. 迭代 重复 下一次重复基于上一次的结果 软件开发就是典型的迭代更新. 讲迭代,我们就先来模拟一下迭代: 现在让我们使用while循环来遍历出一个列表list1 = ...

  7. CSS Display(显示)和Visibility(可见性)

    CSS Display(显示)和Visibility(可见性) 一.简介 display属性设置一个元素应如何显示(隐藏不占用空间),visibility属性指定一个元素应可见还是隐藏(隐藏占用空间) ...

  8. SQL Server 2016 特性和安装方法

    SQL Server 2016 特性: 全程加密技术(Always Encrypted),动态数据屏蔽(Dynamic Data Masking),JSON支持,多TempDB数据库文件,PolyBa ...

  9. kali安装机场v2ray客户端

    为了方便查找资料,之前安装的ssr在kali上面,感觉速度不怎么快,相比windows和android上慢很多,所以打算在kali上面装个机场试试,看官方介绍说机场比ssr速度更快,下面是安装步骤: ...

  10. 20145310 《Java程序设计》第8周学习总结

    20145310 <Java程序设计>第8周学习总结 教材学习内容总结 本周主要进行第十四章和第十五章的学习. 第十四章 NIO使用频道(channel)来衔接数据节点,对数据区的标记提供 ...