Docker化tomcat 并且使用maven热部署

简介:

把自己的tomcat  docker化并且使用maven实现热部署 特别记录一下~

1.首先进行centos7的安装 就不在记录了 注意的是最好使用centos7 因为docker 依赖 namespace和cgroups 对于低版本的centos内核 支持性不是很好

2.接下来进行安装docker一条命令就完事

  

1 yum install -y docker

3.启动docker容器

 

1 systemctl start docker.service

4.修改docker镜像地址(不修改的话 国外的镜像站点很慢的哦)

在宿主机器编辑文件:vi /etc/docker/daemon.json

请在该配置文件中加入(没有该文件的话,请先建一个):

{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]}

最后,需要重启docker服务  systemctl restart docker.service

5.下载tomcat镜像

1 docker pull tomcat:7

6.从Apache官网下载tomcat7的压缩包 一些配置文件我们需要拷贝

    http://archive.apache.org/dist/tomcat/tomcat-7/

7.创建相关的存放  个性化tomcat配置文件 和 Dockerfile文件的目录

  (1)存放Dockerfile文件的位置       

1 mkdir -p /usr/local/dockerfile/massive

(2)存放server.xml和tomcat-users.xml文件的位置

  

1 mkdir -p  /usr/local/tomcat/conf

8.解压tomcat压缩包文件

 

1 tar -zxvf apache-tomcat7

 

10.修改tomcat-users.xml 添加如下代码

 

9.复制tomcat conf目录下的server.xml和tomcat-users.xml文件到/usr/local/dockerfile/massive和/usr/local/tomcat/conf

10.在/usr/local/dockerfile/massive目录下创建Dockerfile文件添加如下内容 (注意Dockerfile不要写错大小写):

  

 1 from tomcat:7 2 #定义工作目录 3 ENV WORK_PATH /usr/local/tomcat/conf 4 #定义要替换的文件名 5 ENV USER_CONF_FILE_NAME tomcat-users.xml 6 #定义要替换的server.xml文件名 7 ENV SERVER_CONF_FILE_NAME server.xml 8 #删除原文件tomcat-users.xml 9 RUN rm $WORK_PATH/$USER_CONF_FILE_NAME10 #复制文件tomcat-users.xml11 COPY  ./$USER_CONF_FILE_NAME $WORK_PATH/12 #删除原文件server.xml13 RUN rm $WORK_PATH/$SERVER_CONF_FILE_NAME14 #复制文件server.xml15 COPY  ./$SERVER_CONF_FILE_NAME $WORK_PATH/

11.构建自己的docker镜像

   

1 docker build -t dxqqtomcat:1.0 .

   注: dxqqtomcat是镜像的名称 1.0是版本    . 是Dockerfile在执行命令的当前目录

   成功后如下:

   

   查看镜像有哪些:

12启动tomcat容器:

   

1 docker run -d --name my-tomcat -p 7777:8080 dxqqtomcat

  注: -d 守护进程方式启动 --name 是你的启动的容器的名称 -p 端口 8080映射到7777 最后一个是镜像的名称

13.关闭防火墙  访问tomcat 浏览器 http://你的IP:7777/ 就可以看到可爱的tomcat了

                                            接下来就是使用maven热部署项目到tomcat中~~

1.新建maven项目 在pom.xml文件添加如下代码:

 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 2   <modelVersion>4.0.0</modelVersion> 3   <groupId>org.bianqi.docker</groupId> 4   <artifactId>docker-demo</artifactId> 5   <version>0.0.1-SNAPSHOT</version> 6   <packaging>war</packaging> 7    8   <dependencies> 9         <!-- JSP相关 -->10         <dependency>11             <groupId>jstl</groupId>12             <artifactId>jstl</artifactId>13             <version>1.2</version>14         </dependency>15         <dependency>16             <groupId>javax.servlet</groupId>17             <artifactId>servlet-api</artifactId>18             <version>2.5</version>19             <scope>provided</scope>20         </dependency>21         <dependency>22             <groupId>javax.servlet</groupId>23             <artifactId>jsp-api</artifactId>24             <version>2.0</version>25             <scope>provided</scope>26         </dependency>27     </dependencies>28     <build>29         <finalName>${project.artifactId}</finalName>30         <plugins>31             <!-- 资源文件拷贝插件 -->32             <plugin>33                 <groupId>org.apache.maven.plugins</groupId>34                 <artifactId>maven-resources-plugin</artifactId>35                 <version>2.7</version>36                 <configuration>37                     <encoding>UTF-8</encoding>38                 </configuration>39             </plugin>40             <!-- java编译插件 -->41             <plugin>42                 <groupId>org.apache.maven.plugins</groupId>43                 <artifactId>maven-compiler-plugin</artifactId>44                 <version>3.2</version>45                 <configuration>46                     <source>1.7</source>47                     <target>1.7</target>48                     <encoding>UTF-8</encoding>49                 </configuration>50             </plugin>51             <plugin>52                 <groupId>org.apache.tomcat.maven</groupId>53                 <artifactId>tomcat7-maven-plugin</artifactId>54                 <configuration>55                     <path>/</path>56                     <port>80</port>57                     <url>http://192.168.206.138:7777/manager/text</url>58                     <username>tomcat</username>59                     <password>tomcat</password>60                 </configuration>61             </plugin>62         </plugins>63         <pluginManagement>64             <plugins>65                 <!-- 配置Tomcat插件 -->66                 <plugin>67                     <groupId>org.apache.tomcat.maven</groupId>68                     <artifactId>tomcat7-maven-plugin</artifactId>69                     <version>2.2</version>70                 </plugin>71             </plugins>72         </pluginManagement>73     </build>74 75 </project>

2.创建index.jsp文件 添加如下:

  

3.然后执行命令 tomcat7:redeploy

4.maven相关输出

  

5.再次访问tomcat 就看到自己写的页面了

本文转自  zddnd  51CTO博客,原文链接:http://blog.51cto.com/13013666/1943034


相关文章
|
5月前
|
Java 应用服务中间件 Apache
Maven程序 tomcat插件安装与web工程启动
Maven程序 tomcat插件安装与web工程启动
59 0
|
3月前
|
XML 前端开发 Java
SpringMVC入门到实战------2、SpringMVC创建实例Hello SpringMVC(maven+tomcat)
这篇文章是SpringMVC框架的入门教程,详细指导了如何在IDEA中使用Maven和Tomcat创建SpringMVC工程,包括添加依赖、配置web.xml、编写控制器、创建配置文件、配置Tomcat服务器以及进行基本的测试,展示了一个简单的Hello SpringMVC示例。
SpringMVC入门到实战------2、SpringMVC创建实例Hello SpringMVC(maven+tomcat)
|
27天前
|
Java Shell 应用服务中间件
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
这篇文章介绍了如何在Mac系统下配置Java JDK、Maven和Tomcat的环境变量,包括配置文件的选择、解决环境变量在zsh shell中无效的问题、查看和设置系统环境变量的方法,以及JDK和Maven的下载、配置和测试步骤。
1061 1
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
|
25天前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
77 1
|
2月前
|
应用服务中间件 Docker 容器
docker应用部署---Tomcat的部署配置
这篇文章介绍了如何使用Docker部署Tomcat服务器,包括搜索和拉取Tomcat镜像、创建容器并设置端口映射和目录映射,以及如何创建一个HTML页面并使用外部机器访问Tomcat服务器。
docker应用部署---Tomcat的部署配置
|
1月前
|
Java 应用服务中间件 Maven
idea+maven+tomcat+spring 创建一个jsp项目
这篇文章介绍了如何在IntelliJ IDEA中使用Maven和Tomcat创建一个JSP项目,包括配置Maven依赖、设置Tomcat服务器、编写JSP页面、创建控制器和配置文件,以及项目的运行结果。
136 0
idea+maven+tomcat+spring 创建一个jsp项目
|
3月前
|
应用服务中间件 Docker 容器
在服务器中使用Docker安装Tomcat、同时实现目录挂载、并且部署War包到服务器
这篇文章介绍了在Docker中安装Tomcat的过程,包括搜索Tomcat镜像、拉取镜像、目录挂载的准备、创建并挂载容器,以及如何进入容器和进行测试。文中还说明了如何将WAR包部署到Tomcat服务器并访问部署的应用。
在服务器中使用Docker安装Tomcat、同时实现目录挂载、并且部署War包到服务器
|
3月前
|
存储 搜索推荐 应用服务中间件
深入探索Docker 安装 Tomcat
【8月更文挑战第26天】
77 4
|
3月前
|
Java 应用服务中间件 Linux
Docker 下自定义安装 Tomcat
Docker 下自定义安装 Tomcat
28 3
|
3月前
|
jenkins 持续交付 开发工具
"引爆效率革命!Docker+Jenkins+GIT+Tomcat:解锁持续集成魔法,一键部署Java Web应用的梦幻之旅!"
【8月更文挑战第9天】随着软件开发复杂度的增加,自动化变得至关重要。本文通过实例展示如何结合Docker、Jenkins、Git与Tomcat建立高效的持续集成(CI)流程。Docker确保应用环境一致性;Jenkins自动化处理构建、测试和部署;Git管理源代码版本;Tomcat部署Web应用。在Jenkins中配置Git插件并设置项目,集成Docker构建Tomcat应用镜像并运行容器。此外,通过自动化测试、代码质量检查、环境隔离和日志监控确保CI流程顺畅,从而显著提高开发效率和软件质量。
75 3
下一篇
无影云桌面