目录结构
准备工作
假设这里的SpringBoot项目通过maven构建好了Fat Jar包。
Dockerfile
Openjdk
FROM openjdk:8-jdk-alpine
VOLUME /tmp
RUN addgroup -S spring && adduser -S spring -G spring
USER spring:spring
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
amazoncorretto
FROM amazoncorretto:8-alpine3.14-jdk
RUN apk -U upgrade
RUN apk --no-cache upgrade musl
VOLUME /tmp
RUN addgroup -S spring && adduser -S spring -G spring
USER spring:spring
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
EXPOSE 9080
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
上面时docker的镜像构建配置。
docker build -t springio/gs-spring-boot-docker .
docker run -p 8080:8080 springio/gs-spring-boot-docker
测试效果
总结
这里为啥要提一下AWS的JDK?,因为在运行docker镜像安全扫描时
docker scan springio/gs-spring-boot-docker
AWS的JDK的是没有高危漏洞的或者说安全性更好。
参考:
版权声明:本文为web18484626332原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。