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 就看到自己寫的頁面了

成功熱部署完畢~~~~~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM