2022-10-09 14:44:32 +08:00
|
|
|
|
2022-07-18 20:50:38 +08:00
|
|
|
FROM node:16-alpine as base
|
2022-10-09 14:44:32 +08:00
|
|
|
RUN npm i --location=global pnpm@7
|
|
|
|
|
|
|
|
FROM base as deps
|
2022-07-18 22:34:27 +08:00
|
|
|
RUN apk add --no-cache libc6-compat
|
2022-07-18 20:50:38 +08:00
|
|
|
WORKDIR /app
|
2022-10-09 00:23:16 +08:00
|
|
|
COPY pnpm-lock.yaml package.json ./
|
2022-10-09 14:44:32 +08:00
|
|
|
RUN pnpm i
|
|
|
|
|
|
|
|
FROM deps as build
|
|
|
|
WORKDIR /app
|
2022-10-09 13:04:51 +08:00
|
|
|
COPY . .
|
2022-10-09 14:44:32 +08:00
|
|
|
COPY --from=deps /app ./
|
2022-10-09 13:04:51 +08:00
|
|
|
RUN pnpm build &&\
|
2022-10-09 13:07:02 +08:00
|
|
|
pnpm prune --prod --config.ignore-scripts=true
|
2022-07-18 20:50:38 +08:00
|
|
|
|
2022-10-09 11:50:16 +08:00
|
|
|
FROM node:16-alpine as release
|
2022-07-18 20:50:38 +08:00
|
|
|
WORKDIR /app
|
2022-10-09 14:44:32 +08:00
|
|
|
COPY --from=build /app ./
|
2022-07-18 20:50:38 +08:00
|
|
|
EXPOSE 80
|
2022-10-09 13:25:29 +08:00
|
|
|
CMD npm run serve -- -p 80
|