构建一个 spring boot 的 jar 的 layer layout image

0
(0)

1、首先我们找一个目录,将打包好的 fat jar 放进去,然后执行下面的命令解包。

java -Djarmode=layertools -jar xxx.jar extract

fit 包的情况下,我们直接 `java -jar xx.jar` 就可以启动,但是解压后,我们不能再这么启动;

在目录中创建 Dockerfile_Layer 文件,像下面这样,可以根据自己的需要自行修改

# 使用官方的OpenJDK镜像作为基础镜像
FROM 100.120.0.88:8081/firegod/openjdk:11-with-fontconfig

# 上面的作为一个基础镜像,下面的是在基础镜像上进行构建

# 设置工作目录
WORKDIR /app

### 设置 TZ 时区,设置 JAVA_OPTS 环境变量,可通过 docker run -e "JAVA_OPTS=" 进行覆盖
ENV TZ=Asia/Shanghai
ENV JAVA_OPTS="-Duser.timezone=Asia/Shanghai -Xms512m -Xmx8192m -XX:+HeapDumpOnOutOfMemoryError"
ENV PROFILES_ACTIVE=""
ENV ARGUMENTS=""

### 暴露后端项目的 48080 端口
EXPOSE 48080

COPY dependencies/ ./
COPY spring-boot-loader/ ./
COPY snapshot-dependencies/ ./
COPY application/ ./

ENTRYPOINT ["sh","-c","java -Djava.security.egd=file:/dev/./urandom ${JAVA_OPTS} org.springframework.boot.loader.JarLauncher --spring.profiles.active=${PROFILES_ACTIVE} ${ARGUMENTS}"]

2、然后进入这个目录,执行下面的命令构建 docker image

docker buildx build -f Dockerfile_Layer --platform linux/amd64,linux/arm64 -t 100.120.0.88:8081/xxx/xxx-server-layer:latest -t 100.120.0.88:8081/xxx/xxx-server-layer:BUILD_${env.BUILD_NUMBER} -t 100.120.0.88:8081/xxx/xxx-server-layer:${tag} --load .

这篇文章有用吗?

平均评分 0 / 5. 投票数: 0

到目前为止还没有投票!成为第一位评论此文章。

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?


了解 工作生活心情记忆 的更多信息

订阅后即可通过电子邮件收到最新文章。