设为首页 收藏本站
查看: 1253|回复: 0

[经验分享] Docker化tomcat 并且使用maven热部署

[复制链接]

尚未签到

发表于 2017-12-5 18:35:25 | 显示全部楼层 |阅读模式
  把自己的tomcat  docker化并且使用maven实现热部署 特别记录一下~
  1.首先进行centos7的安装 就不在记录了 注意的是最好使用centos7 因为docker 依赖 namespace和cgroups 对于低版本的centos内核 支持性不是很好
DSC0000.png

  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 添加如下代码
DSC0001.png

  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在执行命令的当前目录
  成功后如下:
DSC0002.png

  查看镜像有哪些:
DSC0003.png

  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文件 添加如下:
DSC0004.png

  3.然后执行命令 tomcat7:redeploy
DSC0005.png

  4.maven相关输出
DSC0006.png

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

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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-420918-1-1.html 上篇帖子: Docker 镜像小结 下篇帖子: 搭建私有Docker Registry
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表