Docker化tomcat 并且使用maven热部署
把自己的tomcatdocker化并且使用maven实现热部署 特别记录一下~1.首先进行centos7的安装 就不在记录了 注意的是最好使用centos7 因为docker 依赖 namespace和cgroups 对于低版本的centos内核 支持性不是很好
http://images2015.cnblogs.com/blog/1107017/201706/1107017-20170608222250981-1410049185.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 添加如下代码
http://images2015.cnblogs.com/blog/1107017/201706/1107017-20170608223746778-65847373.png
9.复制tomcat conf目录下的server.xml和tomcat-users.xml文件到/usr/local/dockerfile/massive和/usr/local/tomcat/conf
10.在/usr/local/dockerfile/massive目录下创建Dockerfile文件添加如下内容 (注意Dockerfile不要写错大小写):
http://common.cnblogs.com/images/copycode.gif
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/http://common.cnblogs.com/images/copycode.gif
11.构建自己的docker镜像
1 docker build -t dxqqtomcat:1.0 . 注: dxqqtomcat是镜像的名称 1.0是版本 . 是Dockerfile在执行命令的当前目录
成功后如下:
http://images2015.cnblogs.com/blog/1107017/201706/1107017-20170608224822747-2003429063.png
查看镜像有哪些:
http://images2015.cnblogs.com/blog/1107017/201706/1107017-20170608224919887-1238532328.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文件添加如下代码:
http://common.cnblogs.com/images/copycode.gif
12 4.0.0 3 org.bianqi.docker 4 docker-demo 5 0.0.1-SNAPSHOT 6 war 7 8 9 10 11 jstl12 jstl13 1.214 15 16 javax.servlet17 servlet-api18 2.519 provided20 21 22 javax.servlet23 jsp-api24 2.025 provided26 27 28 29 ${project.artifactId}30 31 32 33 org.apache.maven.plugins34 maven-resources-plugin35 2.736 37 UTF-838 39 40 41 42 org.apache.maven.plugins43 maven-compiler-plugin44 3.245 46 1.747 1.748 UTF-849 50 51 52 org.apache.tomcat.maven53 tomcat7-maven-plugin54 55 /56 8057 http://192.168.206.138:7777/manager/text58 tomcat59 tomcat60 61 62 63 64 65 66 67 org.apache.tomcat.maven68 tomcat7-maven-plugin69 2.270 71 72 73 74 75 http://common.cnblogs.com/images/copycode.gif
2.创建index.jsp文件 添加如下:
http://images2015.cnblogs.com/blog/1107017/201706/1107017-20170608230141965-1685348311.png
3.然后执行命令 tomcat7:redeploy
http://images2015.cnblogs.com/blog/1107017/201706/1107017-20170608225816700-1423816363.png
4.maven相关输出
http://images2015.cnblogs.com/blog/1107017/201706/1107017-20170608225938622-489789280.png
5.再次访问tomcat 就看到自己写的页面了
http://images2015.cnblogs.com/blog/1107017/201706/1107017-20170608230215575-1816280354.png
页:
[1]