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
在完成 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 类目下补充。