Docker容器Tomcat部署war包

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker容器Tomcat部署war包相关的知识,希望对你有一定的参考价值。

原文: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包的主要内容,如果未能解决你的问题,请参考以下文章

docker容器

docker学习4-docker安装tomcat环境和部署war包

Docker打包Springboot项目war包镜像并部署

Docker打包Springboot项目war包镜像并部署

Java-war-jar-docker

tomcat部署多war包