1 Star 0 Fork 0

jianmo/HelloWorld

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Dockerfile 3.24 KB
一键复制 编辑 原始数据 按行查看 历史
jianmo 提交于 2022-03-09 16:07 . 我的第一个微服务项目
# syntax=docker/dockerfile:experimental
## 使用 DOCKER_BUILDKIT=1 docker build -t 'imageName:tag' . 的方式進行打包
# 下載平台 apigateway(可討論是否由後端人員交付一個版本包含平台與maven的 base image)
ARG apiVersion=
ARG platformPath=/platform
ARG backendName=sampleapp1_backend
ARG packpath=/package
FROM alpine AS base
# 由此設定相關參數
ARG apiVersion
ARG platformPath
ARG backendName
ENV nexusServer=nexus.digiwincloud.com.cn:22699
WORKDIR ${platformPath}
RUN apk add wget --no-cache
RUN wget -nv 'http://'${nexusServer}'/nexus/service/local/artifact/maven/redirect?r=snapshots&g=com.digiwin&a=dwapiplatform-appbackend&e=war&v='${apiVersion} -O ${backendName}.war \
&& tar xvf ${backendName}.war \
&& mv app_backend ${backendName}
# 編譯
FROM maven:3.5.3-jdk-8 AS builder
ARG apiVersion
ARG packpath
ARG backendName
ENV build=/build modulePath=develop/module thirdParty=develop/DWThirdPartyLibrary
RUN mkdir -p ${build}/thirdParty && mkdir -p ${packpath}/lib && mkdir -p ${packpath}/module
RUN mkdir -p ${packpath}/conf && mkdir -p ${packpath}/lang && mkdir -p ${packpath}/lib
WORKDIR ${build}
# config
COPY ${backendName}/develop/conf/* ${packpath}/conf/
COPY ${backendName}/develop/lang/* ${packpath}/lang/
COPY ${backendName}/develop/lib/* ${packpath}/lib/
# thirdparty
# 目前sampleApp1沒有用到third party打包 先註解
#COPY ${backendName}/${thirdParty} ${thirdParty}
#RUN --mount=type=cache,target=/root/.m2 mvn -f ${thirdParty}/pom.xml package
#RUN cp -r ${thirdParty}/target/dependency/* ${packpath}/lib
# module1
ENV moduleName=Basic
ENV pomVersion=3.1.0.1000-SNAPSHOT
COPY ${backendName}/${modulePath}/${moduleName} ${moduleName}
RUN --mount=type=cache,target=/root/.m2 mvn -f ${moduleName}/pom.xml package
RUN cp -r ${moduleName}/target/* ${packpath}/module
# module2
ENV moduleName=dem
ENV pomVersion=3.1.0.1000-SNAPSHOT
COPY ${backendName}/${modulePath}/${moduleName} ${moduleName}
RUN --mount=type=cache,target=/root/.m2 mvn -f ${moduleName}/pom.xml package
RUN cp -r ${moduleName}/target/* ${packpath}/module
# module3
ENV moduleName=DEMO_DAP_CURRENT
ENV pomVersion=3.1.0.1000-SNAPSHOT
COPY ${backendName}/${modulePath}/${moduleName} ${moduleName}
RUN --mount=type=cache,target=/root/.m2 mvn -f ${moduleName}/pom.xml package
RUN cp -r ${moduleName}/target/* ${packpath}/module
# 打包
FROM registry.digiwincloud.com/base/digiwin_openjdk8-alpine:1.0.1.2
ARG platformPath
ARG backendName
ARG packpath
COPY --from=base ${platformPath}/${backendName} /${backendName}
WORKDIR /${backendName}
COPY --from=builder ${packpath}/ ./application/
RUN chmod +x ./platform/bin/run.sh \
&& chmod +x ./platform/bin/stop.sh \
&& chmod +x ./platform/bin/docker/dockerEnv.sh \
&& chmod +x ./platform/bin/docker/dockerEnvReplace.sh \
&& chmod +x ./platform/bin/docker/dockerRun.sh
EXPOSE 22620
ENTRYPOINT ["/sampleapp1_backend/platform/bin/docker/dockerRun.sh"]
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/hsj_s/hello-world.git
[email protected]:hsj_s/hello-world.git
hsj_s
hello-world
HelloWorld
master

搜索帮助