看完这篇,再也不用焦虑如何写dockerfile了( 四 )

可以看到它是基于openjdk这个基础镜像来创建的,先去下载maven的包,然后进行了安装 。然后又设置了MAVEN_HOME和MAVEN_CONFIG这两个环境变量,最后通过mvn-entrypoing.sh来进行了启动 。
前端服务的两阶段构建我有一个前端服务,目录结构如下:
$ ls frontend/myaccount/  resources/  third_party/myaccount目录下是放置的js,vue等,resources放置的是css,images等 。third_party放的是第三方应用 。
这里采用了两阶段构建,即采用上一阶段的构建结果作为下一阶段的构建数据
FROM node:alpine as builderWORKDIR '/build'COPY myaccount ./myaccountCOPY resources ./resourcesCOPY third_party ./third_partyWORKDIR '/build/myaccount'RUN npm installRUN npm rebuild node-sassRUN npm run buildRUN ls /build/myaccount/distFROM NginxEXPOSE 80COPY --from=builder /build/myaccount/dist /usr/share/nginx/html需要注意结尾的 --from=builder这里和开头是遥相呼应的 。

作者:think123
原文链接:https://juejin.im/post/5e60745d518825492e4965ed




推荐阅读