java项目docker 化

#syntax=harbor.XXX.com/docker/dockerfile:experimental
# 第一行必须保留
# 使用 docker 的扩展功能 build 镜像
 
# ---- build 阶段,主要用于 build node 项目 ---- #
# 使用 jdk 8  build 为 builder
FROM harbor.XXX.com/base-images/maven:3-jdk-8-slim as builder
 
# 配置默认工作空间
WORKDIR /app
# copy pom.xml 文件
COPY ./pom.xml .
RUN --mount=type=cache,target=/root/.m2/repository \
    mvn dependency:go-offline
# 复制所有文件到默认项目空间
# build 项目
COPY . .
RUN --mount=type=cache,target=/root/.m2/repository \
    mvn dependency:purge-local-repository -DgroupId==com.tigerye && \
    mvn -DskipTests clean package
RUN mv target/*.jar target/result.jar
 
# ---- 创建 nginx 镜像,为最终使用的镜像 ----#
FROM harbor.XXX.com/base-images/openjdk:8-slim-apollo as app
ARG APP_ID=XXX
ARG APOLLO_META=http://apollo-config-test.XXX.com:XXX
ENV APP_ID=$APP_ID \
    APOLLO_META=$APOLLO_META
 
#copy builder (上一个阶段的容器) 的 /app/target/result.jar  目录到当前镜像
COPY --from=builder /app/target/result.jar $JAR_PATH
 
EXPOSE 8080
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容