diff --git a/.gitignore b/.gitignore index d1c9642..68361c3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ node_modules pnpm-lock.yaml sql -data \ No newline at end of file +data +.idea diff --git a/Dockerfile b/Dockerfile index 055b2ac..5651e37 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,8 @@ # 编译阶段 -FROM node:18-alpine AS build - +FROM node:18-alpine AS base +FROM base AS build WORKDIR /app -COPY . . +COPY package.json ./ # 使用腾讯源(国内服务器可取消下方注释以提升安装速度) # RUN npm config set registry https://mirrors.cloud.tencent.com/npm/ @@ -13,16 +13,21 @@ COPY . . # 如遇到提示网站证书无效,取消下方注释,禁止严格SS策略 # RUN npm config set strict-ssl false -# 使用 pnpm 安装项目依赖 -RUN npm install -g pnpm -RUN pnpm install +# 安装项目依赖 +RUN apk add --no-cache --virtual .build-deps git && \ + npm install --omit=dev && \ + apk del .build-deps + # 运行阶段 -FROM node:18-alpine +FROM base AS runner ENV TZ="Asia/Shanghai" WORKDIR /app -COPY --from=build /app . + +COPY --from=build /app/node_modules ./node_modules +COPY . . + EXPOSE 9520 CMD ["node", "./dist/main.js"]