多阶段构建DockerFile
FROM node:16-alpine3.11 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
multi-stage build 的支持
在使用docker 进行多阶段构建镜像时,有如下报错;查看资料是docker 17.05 才开始支持多阶段构建。
ERROR: Service 'myaccount-service' failed to build : Error parsing reference: "node:16-alpine3.11 as builder" is not a valid repository/tag: invalid reference format
解决
卸载低版本Docker
yum remove dockeryum remove docker-commonyum remove docker-client
安装最新版Docker
curl -fsSL https://get.docker.com/ | shsystemctl restart dockersystemctl enable docker
之后再执行构建命令发现可以成功执行

