partner-admin/Dockerfile
2025-03-09 10:26:27 +08:00

49 lines
1.1 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 构建阶段
FROM node:18-alpine as build-stage
# 切换 Alpine 镜像源为阿里云
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
# 设置环境变量
ARG NODE_ENV
ENV NODE_ENV=${NODE_ENV}
# 安装 yarn
RUN apk add --no-cache yarn
# 设置 yarn 和 npm 镜像源为淘宝源
RUN yarn config set registry https://registry.npmmirror.com && \
npm config set registry https://registry.npmmirror.com
# 设置工作目录
WORKDIR /app
# 复制 package.json 和 yarn.lock
COPY package.json yarn.lock* ./
# 安装依赖
RUN yarn install --frozen-lockfile
# 复制项目文件
COPY . .
# 构建项目
RUN yarn build
# 生产阶段
FROM nginx:stable-alpine as production-stage
# 切换 Alpine 镜像源为阿里云
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
# 复制构建结果到Nginx目录
COPY --from=build-stage /app/dist /usr/share/nginx/html
# 复制自定义Nginx配置可选
# COPY nginx.conf /etc/nginx/conf.d/default.conf
# 暴露80端口
EXPOSE 80
# 启动Nginx
CMD ["nginx", "-g", "daemon off;"]