Docker容器Tomcat部署war包
在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包的更多相关文章
- Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包
Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包 >>>>>>>>>>>& ...
- 记录centos7下tomcat部署war包过程
记录centos7下tomcat部署war包过程 1.官网下载tomcat安装包.gz结尾的 2.上传到/usr/local/ ,并解压到tomcat目录下 3.进入tomcat/bin目录,运行./ ...
- springboot+vue前后端分离,nginx代理配置 tomcat 部署war包详细配置
1.做一个小系统,使用了springboot+vue 基础框架参考这哥们的,直接拿过来用,链接https://github.com/smallsnail-wh/interest 前期的开发环境搭建就不 ...
- tomcat部署war包
部署步骤 1.下载tomcat 直接在网上下载即可,随便把包下到一个地方 下面文中的xxx均代表tomcat的安装目录 2.将java工程导出war包 在intellij idea的执行左侧选中t ...
- tomcat部署war包启动后请求无响应,一直报404
刚刚碰到一个坑,本地Eclipse启动了tomcat,调用接口就是404,一直怀疑是url问题,改来改去还是404.最后发现还真是url问题,问题不在接口路径,而是项目名.因为接口路径用的是RESTf ...
- jenkins+svn+tomcat部署war包
svn是版本控制器,是提供一个版本库让程序员把项目提交上去,每一次更新代码提交后都会记录 jenkins是持续部署的工具,是让项目自动部署发布出去的工具,当项目代码发生改变时就需要重新打包成war包, ...
- Tomcat:tomcat部署war包配置SSL访问
Linux-CentOS7部署 war放置 war放到tomcat的webapps目录内 修改配置 修改tomcat的server.xml文件 HTTP: 找到Connector元素,修改端口 HTT ...
- tomcat:利用tomcat部署war包格式的项目
配置jdk环境变量, 配置TOMCAT_HOME 变量, 将war包放入webapps中. 运行tomcar-bin文件夹中的startup.bat. tomcat会自动解压war包. 进入项目:
- tomcat部署war包访问显示404
在eclipse导出的maven项目war包,放到tomcat下启动,顺利启动且无报错,但是浏览器访问该项目时显示404 原因:未在server.xml中配置这几个项目,导致服务器查找不到 解决方法: ...
随机推荐
- ABAP 图形练习(GFW_PRES_SHOW and GRAPH_2D)
创建屏幕0100(元素清单中含定制控制CONTAINER和OK_CODE) 创建GUI状态100(功能键含BACK和EXIT用于返回和退出 ) 代码 *&------------------- ...
- Redhat7配置ali-yum源
1.删除所有包 rpm -qa|grep yum|xargs rpm -e --nodeps 2.下载相关文件 下载地址 https://mirrors.aliyun.com/centos/7/os ...
- 网络编程——UDP编程
一个简单的聊天代码:运行结果: 在这个程序之中,由于recvfrom函数拥塞函数,没有数据时会一直阻塞,所以客户端和服务器端只能通过一回一答的方式进行信息传递.严格的讲UDP没有明确的客户端和服务端, ...
- Android中监控home键
一.需求 在应用开发过程中,启动服务开启线程锁等待服务返回解锁,为了避免点击home键使线程锁卡死的bug,需要监控home键,解锁线程. 二.实现 在应用时,需要register和unregiste ...
- keepalived给LVS带来了什么
LVS+Keepalived 1>Keepalived简介 Keepalived是Linux下一个轻量级别的高可用解决方案,高可用(High Avalilability,HA),其实两种不同的 ...
- MFC之几类消息的区别
1.ON_COMMAND与ON_UPDATE_COMMAND_UI 开发MFC程序,给菜单子项添加消息处理函数时,会碰到ON_COMMAND和ON_UPDATE_COMMAND_UI两个消息. ON_ ...
- 为什么我们要使用int类型来保存时间类型的数据。
1.如果数据保存的是timestamp类型那么,如果某个服务器系统时区配置错误,那么悲剧的是通过该服务器写入的时间都是有偏差的. 如果使用int类型保存unix时间戳的话,那么就是在前端展示的时候转 ...
- Snapshot Types
Volume managers Some Unix systems have snapshot-capable logical volume managers. These implement cop ...
- Senparc.Weixin SDK 微信公众号 .NET 开发教程 索引
Senparc.WeixinSDK从一开始就坚持开源的状态,这个过程中得到了许多朋友的认可和支持. 目前SDK已经达到比较稳定的版本,这个过程中我觉得有必要整理一些思路和经验,和大家一起分享.也欢迎大 ...
- Javascript高级编程学习笔记(62)—— 事件(6)焦点事件
焦点事件 焦点事件会在页面元素获得或者失去焦点时触发,利用焦点事件和 document.hasFocus() 方法配合使用 以及 document.activeElement 属性配合可以知晓用户在页 ...