一文玩转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这里和开头是遥相呼应的 。
总结我相信看完dockerfile指令,你看任何一个dockerfile应该都没有太大问题,不记得的命令回来翻一下就行了 。如果你觉得还可以,关注下哟 。
作者:think123
链接:https://juejin.im/post/5e60745d518825492e4965ed




推荐阅读