使用maven插件自动部署web应用至Docker容器的tomcat
配置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> <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/massivecd /usr/local/dockerfile/massivetouch Dockerfile |
编辑Dockerfile
|
1
2
3
|
from tomcat:7MAINTAINER massiveADD 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> <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/massivecd /usr/local/dockerfile/massivetouch Dockerfile |
编辑Dockerfile
|
1
2
3
|
from tomcat:7MAINTAINER massiveADD 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的更多相关文章
- 使用jenkins 插件自动部署项目至tomcat
前面使用maven.ant编译项目就不说,只说一下使用jenkins的插件自动部署项目 1.首先jenkins安装插件Deploy to container Plugin ,下载地址为:https:/ ...
- 15.自动部署web工程
用maven自动部署web工程 在pom.xml中写入以下: <build> <!--最终名称,进入网页时有http://localhost:8080/xxx/--> < ...
- Gitlab CI 自动部署 asp.net core web api 到Docker容器
为什么要写这个? 在一个系统长大的过程中会经历不断重构升级来满足商业的需求,而一个严谨的商业系统需要高效.稳定.可扩展,有时候还不得不考虑成本的问题.我希望能找到比较完整的开源解决方案来解决持续集成. ...
- IDEA自动部署WEB工程至远程服务器(学习笔记)
一.部署Web工程的几种方式 ①本地打war,上传至远程服务器tomcat容器即可 优点:简单粗暴 缺点:浪费时间 ②IDEA自动部署至远程服务器 优点:节省大量时间 缺点:配置稍多(第一次) 二.I ...
- windows环境下利用Gitblit搭建Git服务器并实现自动部署Web站点目录
Git服务搭建多见于linux环境,但windows主机也不少,目前网上文章诸多不全,且以讹传讹,不甚清楚.下面介绍windows环境下的自动部署和发布. 所需环境及资源:Java环境.Gitblit ...
- idea新建maven项目后生成web.xml方法和添加到tomcat方法
idea新建maven项目后生成web.xml方法和添加到tomcat方法 参考:https://www.cnblogs.com/Liang-Haishan216/p/9302141.html 1.首 ...
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录
0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.感谢 在此感谢.net ...
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之集群部署环境规划(一)
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.环境规划 软件 版本 ...
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之自签TLS证书及Etcd集群部署(二)
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.服务器设置 1.把每一 ...
随机推荐
- [golang note] 流程控制
流程控制 • 流程控制语句作用 ▪ 选择:根据条件跳转到不同的执行序列. ▪ 循环:根据条件反复执行某个序列. ▪ 跳转:据条件返回到某执行序列. • 流程控制语句类型 ▪ 条件语句:关键字为if.e ...
- 8种主要排序算法的C#实现 (二)
归并排序 归并排序也是采用“分而治之”的方式.刚发现分治法是一种算法范式,我还一直以为是一种需要意会的思想呢. 不好意思了,孤陋寡闻了,哈哈! 原理:将两个有序的数列,通过比较,合并为一个有序数列. ...
- 安装memcached扩展
1.wget http://pecl.php.net/package/memcache 下载相对应的扩展包 2. tar -zxvf memcache-2.2.7.tgz 3. cd memcac ...
- Webpack+React+ES6 最新环境搭建和配置(2017年)
刚刚学习React,发现React在ES6下的语法才是本体,结合ES6新的语言特性,使组件化开发显得更加直观.而且现在的Angular2也开始使用支持强类型的TypeScript,转译(transpi ...
- 【二分+SPFA】修建道路(road)
(四五年以前的老草稿,作为强迫症还是发布出来吧) 修建道路(road.pas/c/cpp) [问题描述] NOIP2012的参赛者LG异想天开打算修建一条磁悬浮列车的通道连接现代OI王国的首都(编号为 ...
- Python面试题之Python迭代器
要理解迭代器,首先要从字面意思来说. 迭代 重复 下一次重复基于上一次的结果 软件开发就是典型的迭代更新. 讲迭代,我们就先来模拟一下迭代: 现在让我们使用while循环来遍历出一个列表list1 = ...
- CSS Display(显示)和Visibility(可见性)
CSS Display(显示)和Visibility(可见性) 一.简介 display属性设置一个元素应如何显示(隐藏不占用空间),visibility属性指定一个元素应可见还是隐藏(隐藏占用空间) ...
- SQL Server 2016 特性和安装方法
SQL Server 2016 特性: 全程加密技术(Always Encrypted),动态数据屏蔽(Dynamic Data Masking),JSON支持,多TempDB数据库文件,PolyBa ...
- kali安装机场v2ray客户端
为了方便查找资料,之前安装的ssr在kali上面,感觉速度不怎么快,相比windows和android上慢很多,所以打算在kali上面装个机场试试,看官方介绍说机场比ssr速度更快,下面是安装步骤: ...
- 20145310 《Java程序设计》第8周学习总结
20145310 <Java程序设计>第8周学习总结 教材学习内容总结 本周主要进行第十四章和第十五章的学习. 第十四章 NIO使用频道(channel)来衔接数据节点,对数据区的标记提供 ...