#syntax=harbor.XXXX.com/docker/dockerfile:experimental
# 第一行必須保留
# 使用 docker 的擴展功能 build 鏡像
# ---- build 階段,主要用于 build node 項目 ---- #
# 使用 node 12.13.0 build 為 builder
FROM harbor.XXX.com/base-images/node:12.13.0-slim as builder
# 配置環(huán)境 BUILD_ENV 都 build-arg 注入,默認為 test
# 此參數(shù)用于配置 npm build env
ARG BUILD_ENV=test
# 配置默認工作空間
WORKDIR /app
# 復(fù)制所有文件到默認項目空間
COPY . .
# 掛載緩存文件,且 build 項目
#RUN --mount=type=cache,target=/app/node_modules \
# --mount=type=cache,target=/root/.npm \
RUN yarn &&\
yarn build:${BUILD_ENV}
# ---- 創(chuàng)建 nginx 鏡像,為最終使用的鏡像 ----#
FROM harbor.XXX.com/docker-images/nginx:1.17.6-alpine as app
#copy builder (上一個階段的容器) 的 /app/dist 目錄到 /app/dist /usr/share/nginx/html
COPY --from=builder /app/dist /usr/share/nginx/html
EXPOSE 80
FROM harbor.XXXX.com/docker-images/nginx:1.17.6-alpine
#copy builder (上一個階段的容器) 的 /app/dist 目錄到 /app/dist /usr/share/nginx/html
COPY default.conf /etc/nginx/conf.d/default.conf
COPY dist /usr/share/nginx/html
EXPOSE 80
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。