Spring Boot 一般常用的部署方式是将其打成 jar 包或者 war 包,主流的以打成 jar 包后使用 nginx 反向代理为例。

打包运行

使用 Maven 打包 Spring Boot 应用,并运行。

运行时可以动态地指定 Spring Boot 应用的参数,例如数据库配置的密码等。

# 打包
mvn clean install -DskipTests

# 运行
java -jar -Dspring.profiles.active=prod -Dspring.datasource.password=123456 ./target/spring-boot-tea.jar

Docker部署

在完成 Maven 打包后,可以构建一个 Dockerfile,用于生产部署,具体 Dockerfile 内容如下:

FROM java:8
MAINTAINER Jeffrey
WORKDIR /root/spring-boot-tea
ADD ./target/spring-boot-tea.jar app.jar
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo "Asia/Shanghai" > /etc/timezone
ENTRYPOINT java -jar -Dspring.profiles.active=prod ${JAVA_OPTS} app.jar

使用 docker build 构建 docker 容器,在运行 docker 容器时。

JAVA_OPTS 是前往指定的环境变量,可以用于增加启动时的参数,例如指定数据库密码等,具体例子如下:

# 构建
docker build -t spring-boot-tea .

# 运行
docker run -d -p 8080:8080 -e JAVA_OPTS="-Dspring.datasource.password=123456" --name spring-boot-tea spring-boot-tea

最后,Spring Boot 构建 Web API Wheel 的系列文章就到此结束了,后续如果有其他 Spring Boot 相关内容,会在其他 Java 类目下补充。


标题:Spring Boot构建Web API Wheel(八)—— 项目生产部署
作者:Jeffrey