1. 程式人生 > >使用基於docker的tomcat部署war包的SpringBoot專案

使用基於docker的tomcat部署war包的SpringBoot專案

部署springboot專案的方式有多種,可以把專案做成docker的映象,也可以打成jar包,使用java -jar命令執行 ,這在之前的部落格我都有介紹,還有另外一種方式,使用tomcat部署,本次介紹基於docker的tomcat部署SpringBoot專案

Linux使用的是CentOS7 ,首先在docker 中安裝tocmat

docker pull tomcat

建立tomcat容器並把它掛載到本地/opt/docker/tomcat01/webapps中

docker run -itd --name tomcat01 -p 58080:8080 -v /opt/docker/tomcat01/webapps:/usr/local
/tomcat/webapps tomcat
在pom.xml檔案中修改打包方式為war包

新增tomcat的springboot-starter

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>

新增SpringBootServletInitializer配置類

public class ServletInitializer
extends SpringBootServletInitializer {
@Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(GmApplication.class); } }

使用maven的 clean 及package命令生成war包

修改war包名為簡短的名字,因為此時的專案名即為war包名,不再受你在application.yml中的配置了,並且埠號也是tomcat的埠號,也不再受我們的配置,我就改war包為gm.war
開啟tomcat的埠號58080

firewall-cmd --zone=public --add-port=58080/tcp --permanent

重啟防火牆

firewall-cmd --reload

輸入xxx.xxx.xxx.xxxx:58080/gm訪問首頁
使用阿里雲的注意開啟安全組58080