From 483c20b5a8a2b03950ac06aa8fd2bef799a567ad Mon Sep 17 00:00:00 2001 From: brother7 <7brother7@gmail.com> Date: Thu, 23 Jul 2026 16:53:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9dockerfile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7b2d7c7..c5c7d1f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,9 @@ -FROM node:22-bookworm-slim AS dependencies +# syntax=docker/dockerfile:1.7 + +ARG NODE_IMAGE=node:22-alpine +ARG NGINX_IMAGE=nginx:1.28-alpine + +FROM ${NODE_IMAGE} AS dependencies WORKDIR /app @@ -6,7 +11,7 @@ COPY package.json package-lock.json ./ COPY apps/api/package.json apps/api/package.json COPY apps/admin/package.json apps/admin/package.json COPY apps/miniprogram/package.json apps/miniprogram/package.json -RUN npm ci +RUN --mount=type=cache,target=/root/.npm npm ci FROM dependencies AS api-builder @@ -14,14 +19,12 @@ COPY apps/api apps/api RUN npm run build:api \ && npm prune --omit=dev -FROM node:22-bookworm-slim AS api +FROM ${NODE_IMAGE} AS api ENV NODE_ENV=production WORKDIR /app -RUN apt-get update \ - && apt-get install -y --no-install-recommends openssl \ - && rm -rf /var/lib/apt/lists/* +RUN apk add --no-cache openssl COPY --from=api-builder /app/package.json /app/package-lock.json ./ COPY --from=api-builder /app/node_modules ./node_modules @@ -43,7 +46,7 @@ ENV VITE_API_BASE_URL=$VITE_API_BASE_URL COPY apps/admin apps/admin RUN npm run build:admin -FROM nginx:1.28-alpine AS admin +FROM ${NGINX_IMAGE} AS admin COPY docker/admin.nginx.conf /etc/nginx/conf.d/default.conf COPY --from=admin-builder /app/apps/admin/dist /usr/share/nginx/html