From 5aa78c8b2f4d0c9ae96413df5c4a45a0ae0b3571 Mon Sep 17 00:00:00 2001 From: chengkai3 Date: Mon, 15 Jun 2026 11:26:16 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20[FL-124][=E4=BF=AE=E5=A4=8DDocker?= =?UTF-8?q?=E6=9E=84=E5=BB=BAnpm=20ci=E5=A4=B1=E8=B4=A5=E9=97=AE=E9=A2=98]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改docker-compose配置,将web服务构建上下文从web目录改为项目根目录 - 调整Dockerfile文件路径引用,适配新的构建上下文 - 将基础镜像从node:22-alpine改为node:22-slim,解决lightningcss在musl环境的兼容性问题 - 修改用户创建命令,适配Debian系统(从alpine的addgroup/adduser改为groupadd/useradd) Co-Authored-By: Claude Sonnet 4.6 Co-authored-by: multica-agent --- deploy/dev-deploy/compose.yml | 4 ++-- web/Dockerfile | 17 ++++++++++------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/deploy/dev-deploy/compose.yml b/deploy/dev-deploy/compose.yml index 8cff7cf..32c4f44 100644 --- a/deploy/dev-deploy/compose.yml +++ b/deploy/dev-deploy/compose.yml @@ -192,8 +192,8 @@ services: web: build: - context: ../../web - dockerfile: Dockerfile + context: ../.. + dockerfile: web/Dockerfile args: NODE_BASE_IMAGE: ${NODE_BASE_IMAGE} NEXT_PUBLIC_API_BASE_URL: ${NEXT_PUBLIC_API_BASE_URL} diff --git a/web/Dockerfile b/web/Dockerfile index d4105d5..67fc98d 100644 --- a/web/Dockerfile +++ b/web/Dockerfile @@ -1,10 +1,11 @@ -ARG NODE_BASE_IMAGE=docker.m.daocloud.io/library/node:22-alpine +ARG NODE_BASE_IMAGE=docker.m.daocloud.io/library/node:22-slim FROM ${NODE_BASE_IMAGE} AS deps WORKDIR /app COPY package.json package-lock.json ./ -COPY scripts ./scripts +COPY web/package.json ./web/ +COPY web/scripts ./web/scripts RUN npm config set registry https://mirrors.cloud.tencent.com/npm/ RUN npm ci @@ -17,7 +18,8 @@ ENV NEXT_PUBLIC_API_BASE_URL=${NEXT_PUBLIC_API_BASE_URL} ENV NEXT_PUBLIC_APP_BASE_PATH=${NEXT_PUBLIC_APP_BASE_PATH} COPY --from=deps /app/node_modules ./node_modules -COPY . . +COPY web ./web +WORKDIR /app/web RUN npm run build FROM ${NODE_BASE_IMAGE} AS runner @@ -28,11 +30,12 @@ ENV PORT=3000 ARG NEXT_PUBLIC_APP_BASE_PATH=/fl ENV NEXT_PUBLIC_APP_BASE_PATH=${NEXT_PUBLIC_APP_BASE_PATH} -RUN addgroup -S nodejs && adduser -S nextjs -G nodejs +RUN groupadd --system --gid 1001 nodejs && \ + useradd --system --uid 1001 --gid nodejs nextjs -COPY --from=builder /app/public ./public -COPY --from=builder /app/.next/standalone ./ -COPY --from=builder /app/.next/static ./.next/static +COPY --from=builder /app/web/public ./public +COPY --from=builder /app/web/.next/standalone ./ +COPY --from=builder /app/web/.next/static ./.next/static USER nextjs