Docker-compose 部署war包服务
程序员文章站
2022-03-13 10:46:47
...
前言
之前写过一篇 《Docker-compose 部署jar包服务》感兴趣的小伙伴可点链接查看。
但很多时候,服务也会打成一个war包来部署,那该怎么办呢?下面是我部署war过程的记录,还是遇到不少坑的。此处做下记录。
项目改造
- 启动类继承SpringBootServletInitializer并重写configure方法。
/**
* 开放平台启动类
*
* @author gourd.hu
*/
@SpringBootApplication
@Slf4j
public class OpenapiWebApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(OpenapiWebApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(OpenapiWebApplication.class, args);
log.warn(">o< 开放平台服务启动成功!温馨提示:代码千万行,注释第一行,命名不规范,同事泪两行 >o<");
}
}
- pom修改打包类型
<packaging>war</packaging>
- 打包插件配置
<build>
<!--自定义打包文件名-->
<finalName>openapi</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<!--启动类路径-->
<mainClass>org.gourd.hu.OpenapiWebApplication</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
- 用maven- package命令打包
部署
- docker-compose.yml准备,此处提供一下我的配置
version: '3'
services:
openapi-service:
image: tomcat:9.0.33
ports:
- "8088:8080"
restart: always
environment:
- TZ=Asia/Shanghai
- JAVA_OPTS=-Xmx256m -Xms256m
entrypoint:
- "catalina.sh"
- "run"
volumes:
- "./tomcat-web/webapps:/usr/local/tomcat/webapps"
- "./tomcat-web/logs:/usr/local/tomcat/logs"
container_name: openapi
- 将war包放到 /tomcat-web/webapps 下
- 运行到 docker-compose.yml目录下,执行命令
docker-compose up -d
结语
docker-compose 部署war包就完成了,可以到logs目录下查看启动日志。如果本文有不对的地方,欢迎指正。最后奉上自己的开源项目,有兴趣的小伙伴可以下载看看。
cloud-plus:https://blog.csdn.net/HXNLYW/article/details/104635673
推荐阅读
-
SpringBoot war包部署到Tomcat服务器
-
使用docker -v 和 Publish over SSH插件实现war包自动部署到docker的操作步骤
-
tomcat启动war包原理(tomcat部署war包步骤)
-
tomcat启动war包原理(tomcat部署war包步骤)
-
Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)
-
关于云Linux部署tomcat服务器(Maven的多模块war包)
-
Java 环境部署之Idea :解决Idea 中gradle编译 war 包编码不对
-
SpringBoot war包部署到Tomcat服务器
-
war包方式部署solo博客
-
搭建项目后台环境,把jar包部署到云服务器上面的过程