使用基於docker的tomcat部署war包的SpringBoot專案
阿新 • • 發佈:2019-01-04
部署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