在docker容器中使用tomcat部署war包主要包括四个步骤,创建tomcat容器、上传war包到容器、重启容器、访问应用。

1.创建tomcat容器

使用docker run  -d --name cmdtomcat -p 8080:8080  tomcat命令启动了tomcat容器,在浏览器输入http://localhost:8080/可以显示tomcat配置页面。使用docker ps -a可以看到cmdtomcat的容器。

使用docker exec -it 6ba4ccc864bd /bin/bash命令交互式的进入tomcat容器,可以看到webapps目录以及webapps目录下的文件。

2.上传war包到tomcat容器

war包是第九章打包部署用的包,为了方便演示,这里将war包放在了G:\dockerwar目录下。docker中也可以使用cp命令完成和宿主机的文件拷贝。
Docker cp G:\dockerwar\SpringBootSwagger-0.0.1-SNAPSHOT.war  cmdtomcat:/usr/local/tomcat/webapps

3.重启容器

使用docker restart cmdtomcat命令重启容器,然后进入容器可以看到上面拷贝进去的SpringBootSwagger-0.0.1-SNAPSHOT.war包。

4.访问应用

浏览器输入http://localhost:8080/SpringBootSwagger-0.0.1-SNAPSHOT/swagger-ui.html即可正常显示页面。

5.以挂载方式启动

上述执行有个弊端就是容器重启后项目就会不再了,我们可以以挂载的方式启动。
docker run -d -v G:/dockerwar/SpringBootSwagger-0.0.1-SNAPSHOT.war:/usr/local/tomcat/webapps/SpringBootSwagger-0.0.1-SNAPSHOT.war --name cmdtomcat2 -p 8081:8080 tomcat

如上图所示,进入cmdtomcat2容器,可以看到SpringBootSwagger-0.0.1-SNAPSHOT.war已在webapps目录下。在浏览器输入http://localhost:8081/SpringBootSwagger-0.0.1-SNAPSHOT/swagger-ui.html也是正常显示页面。

6.小结

这里只是演示了docker部署war的基本用法,对于在tomcat容器中可能会访问数据库的部分还需要优化,还需要将数据库部分容器化然后与tomcat容器关联才能访问数据库。使用dockerfile部署时遇到使用COPY、ADD都无法将war拷贝到tomcat容器的webapps目录下,使用VOLUME能挂载卷到webapps中,但重启tomcat容器并未将war解压,后续还需优化。

Docker容器Tomcat部署war包的更多相关文章

  1. Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包

    Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包 >>>>>>>>>>>& ...

  2. 记录centos7下tomcat部署war包过程

    记录centos7下tomcat部署war包过程 1.官网下载tomcat安装包.gz结尾的 2.上传到/usr/local/ ,并解压到tomcat目录下 3.进入tomcat/bin目录,运行./ ...

  3. springboot+vue前后端分离,nginx代理配置 tomcat 部署war包详细配置

    1.做一个小系统,使用了springboot+vue 基础框架参考这哥们的,直接拿过来用,链接https://github.com/smallsnail-wh/interest 前期的开发环境搭建就不 ...

  4. tomcat部署war包

    部署步骤 1.下载tomcat 直接在网上下载即可,随便把包下到一个地方 下面文中的xxx均代表tomcat的安装目录   2.将java工程导出war包 在intellij idea的执行左侧选中t ...

  5. tomcat部署war包启动后请求无响应,一直报404

    刚刚碰到一个坑,本地Eclipse启动了tomcat,调用接口就是404,一直怀疑是url问题,改来改去还是404.最后发现还真是url问题,问题不在接口路径,而是项目名.因为接口路径用的是RESTf ...

  6. jenkins+svn+tomcat部署war包

    svn是版本控制器,是提供一个版本库让程序员把项目提交上去,每一次更新代码提交后都会记录 jenkins是持续部署的工具,是让项目自动部署发布出去的工具,当项目代码发生改变时就需要重新打包成war包, ...

  7. Tomcat:tomcat部署war包配置SSL访问

    Linux-CentOS7部署 war放置 war放到tomcat的webapps目录内 修改配置 修改tomcat的server.xml文件 HTTP: 找到Connector元素,修改端口 HTT ...

  8. tomcat:利用tomcat部署war包格式的项目

    配置jdk环境变量, 配置TOMCAT_HOME 变量, 将war包放入webapps中. 运行tomcar-bin文件夹中的startup.bat. tomcat会自动解压war包. 进入项目:

  9. tomcat部署war包访问显示404

    在eclipse导出的maven项目war包,放到tomcat下启动,顺利启动且无报错,但是浏览器访问该项目时显示404 原因:未在server.xml中配置这几个项目,导致服务器查找不到 解决方法: ...

随机推荐

  1. PC装MAC(VM虚拟机)想体验苹果系统的福利

    Windows下 VM12虚拟机安装OS X 10.11(详细教程) 工具/原料 Mac OS X 10.11 镜像文件 unlocker208文件 VMware Workstation12(版本不一 ...

  2. Think twice before starting the adventure

    杂文一篇. 1. 取名字真心是一件特别困难的事情.这位独立开发者花了将近两天的时间,给他的私人项目取了个名字:这篇博客<为何我不鸟你的开源项目>里显然还忽视了一个原因,就是名字取得太烂以至 ...

  3. python set所用后列表不改变里面内容排序

    my_list = [1,2,1,54,5,64,4681,4,676] my_list_two = list(set(my_list)) my_list_two.sort(key = my_list ...

  4. 第4周小组作业:WordCount优化

     Github项目地址:https://github.com/chaseMengdi/wcPro stage1:代码编写+单元测试 PSP表格 PSP2.1 PSP阶段 预估耗时(分钟) 实际耗时(分 ...

  5. LeetCode刷题:第四题 寻找两个有序数组的中位数

    题目描述: 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以假设 nums1 和  ...

  6. C语言+嵌入式SQL+DB2开发经验总结

    1.使用DB2工具将SQC文件预编译成C文件和bnd文件. 命令: db2 prep ***.sqc version * package using * bindfile BLOCKING ALL I ...

  7. linux 解决乱码问题

    乱码分两种情况: 1.终端(纯 shell 界面)的乱码  vi /etc/profile export LC_ALL="zh_CN.GB18030:zh_CN.GB2312:zh_CN.G ...

  8. 深度学习Tensorflow生产环境部署(下·模型部署篇)

    前一篇讲过环境的部署篇,这一次就讲讲从代码角度如何导出pb模型,如何进行服务调用. 1 hello world篇 部署完docker后,如果是cpu环境,可以直接拉取tensorflow/servin ...

  9. SpringBoot 通过 Exploded Archives 的方式部署

    之前部署 SpringBoot 一直是用可执行 jar 的方式. java -jar codergroup-1.0.0.jar 就可以启动项目,为了能在后台运行,通常我们会使用这行命令 nohup j ...

  10. 吴恩达机器学习笔记7-梯度下降III(Gradient descent intuition) --梯度下降的线性回归

    梯度下降算法和线性回归算法比较如图: 对我们之前的线性回归问题运用梯度下降法,关键在于求出代价函数的导数,即: 我们刚刚使用的算法,有时也称为批量梯度下降.实际上,在机器学习中,通常不太会给算法起名字 ...