• 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_NAME
    10 #复制文件tomcat-users.xml
    11 COPY  ./$USER_CONF_FILE_NAME $WORK_PATH/
    12 #删除原文件server.xml
    13 RUN rm $WORK_PATH/$SERVER_CONF_FILE_NAME
    14 #复制文件server.xml
    15 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 就看到自己写的页面了

    成功热部署完毕~~~~~~

  • 相关阅读:
    composer安装Workerman报错:Installation failed, reverting ./composer.json to its original content.
    从零开始搭建linux下laravel 5.5所需环境(三)
    ASPNET Razor 使用 @Ajax.BeginForm 需要注意到的细节
    .NET跨平台
    1172金币
    1044电子表
    1358统计号码牌
    1355疫情防控 数据调查
    1056反向输出一个三位数2
    1071行李托运
  • 原文地址:https://www.cnblogs.com/bianqi/p/6965244.html
Copyright © 2020-2023  润新知