前端项目docker化

#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

# 配置环境 BUILD_ENV 都 build-arg 注入,默认为 test
# 此参数用于配置 npm build env
ARG BUILD_ENV=test

# 配置默认工作空间
WORKDIR /app
# 复制所有文件到默认项目空间
COPY . .
# 挂载缓存文件,且 build 项目
#RUN --mount=type=cache,target=/app/node_modules \
#    --mount=type=cache,target=/root/.npm \
RUN yarn &&\
    yarn build:${BUILD_ENV}

# ---- 创建 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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容