Dockerfile 878 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. # 基础镜像
  2. # nodejs请勿使用alpine版本,以免出现依赖安装失败的问题
  3. FROM node:20-alpine as build-stage
  4. LABEL maintainer=jnpf-team
  5. # 设置时区
  6. ENV TZ=Asia/Shanghai
  7. RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
  8. # 指定临时工作目录
  9. WORKDIR /temp
  10. # 安装pnpm
  11. RUN npm install -g pnpm@9.9.0 --registry=https://registry.npmmirror.com
  12. # 复制项目
  13. COPY . .
  14. # 安装依赖
  15. RUN pnpm install --registry https://registry.npmmirror.com
  16. # 构建项目
  17. RUN pnpm build
  18. # 基础镜像
  19. FROM nginx:stable-alpine as production-stage
  20. # 指定运行时的工作目录
  21. ENV WORKDIR /data/jnpfsoft/jnpf-web-vue3
  22. WORKDIR $WORKDIR
  23. # 将构建文件拷贝到运行时目录中
  24. COPY --from=build-stage /temp/dist ${WORKDIR}
  25. # 复制Nginx配置
  26. COPY deploy/default.conf /etc/nginx/conf.d/
  27. # 指定容器内运行端口
  28. EXPOSE 80