10.4.docker部署SpringBoot项目
Dockerfile
FROM openjdk:8-jdk-alpine
ARG JAR_FILE=build/libs/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","-Dspring.config.location=/etc/mo/config/application.properties","/app.jar"]
# ENTRYPOINT ["java","-jar","/app.jar"]
# ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom",\
"-jar",\
"-Dlogging.path=/var/live/logs",\
"-Dloader.path=/usr/web/live/lib",\
"-Dlogging.config=/usr/web/live/config/log4j2.xml",\
"-Dspring.config.location=/usr/web/live/config/application.yml",\
"/usr/web/live/lib/app.jar"]
构建镜像
docker build -t moluo/mo-api:0.0.1 .
准备配置文件
/etc/mo/config/application.properties
spring.profiles.active=prod
#server
server.port=9000
#thymeleaf
#spring.thymeleaf.properties=utf-8
#mysql
#spring.datasource.url = jdbc:mysql://localhost:3306/mo?useUnicode=true&characterEncoding=UTF8&serverTimezone=UTC
spring.datasource.url = jdbc:mysql://localhost:3306/mo?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
spring.datasource.username = root
spring.datasource.password = 123456
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
#jpa
spring.jpa.show-sql = false
spring.jpa.hibernate.ddl-auto = update
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
#security
#security.basic.enabled=false
token.expire=30000
运行容器
docker run --name mo-api -d -p 9000:9000 -v /etc/mo/config:/etc/mo/config mo-api:0.0.1
docker run --entrypoint java -jar -Dspring.config.location=/etc/mo/config/application.properties /app.jar -p 9000:9000 -v /etc/mo/config:/etc/mo/config --name mo-api mo-api:0.0.1
docker run --entrypoint java -jar -Dspring.config.location=/etc/mo/config/application.properties /app.jar -p 9001:9000 -v /etc/mo/config:/etc/mo/config --name mo-api2 mo-api:0.0.1
Last updated
Was this helpful?