Dockerfile 774 B

12345678910111213141516171819202122232425262728
  1. # --- 阶段一:构建阶段 (Build Stage) ---
  2. FROM registry.cn-chengdu.aliyuncs.com/azysrv/node:16.20.2-buster-slim AS build-stage
  3. ARG BUILD_ENV
  4. ENV NPM_CONFIG_REGISTRY=https://registry.npmmirror.com
  5. # 设置容器内的工作目录
  6. WORKDIR /app
  7. # 利用 Docker 缓存机制:先拷贝 package.json
  8. COPY package*.json ./
  9. # 安装依赖
  10. RUN npm install
  11. # 拷贝所有源代码
  12. COPY . .
  13. # 执行打包命令(通常生成 dist 目录)
  14. RUN npm run build
  15. # --- 阶段二:生产阶段 (Production Stage) ---
  16. FROM registry.cn-chengdu.aliyuncs.com/azysrv/nginx_npm:1.21 AS production-stage
  17. # --- 阶段二重新声明变量 ---
  18. ARG BUILD_ENV
  19. RUN sed -i 's/8080/4040/' /etc/nginx/conf.d/http.conf
  20. COPY --from=build-stage /app/dist/ /opt/webroot/