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解压,后续还需优化。

posted @   社会主义接班人  阅读(2720)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示