From ad108a77944b9516a6923176243f0a68dab51b2e Mon Sep 17 00:00:00 2001 From: hailin Date: Mon, 23 Jun 2025 23:11:38 +0800 Subject: [PATCH] . --- apps/blogai/Dockerfile | 60 +++++++++++++++--------------------------- 1 file changed, 21 insertions(+), 39 deletions(-) diff --git a/apps/blogai/Dockerfile b/apps/blogai/Dockerfile index 6682b21..09208ac 100644 --- a/apps/blogai/Dockerfile +++ b/apps/blogai/Dockerfile @@ -1,54 +1,36 @@ -# --- 第一阶段:构建阶段 --- -FROM node:20-bullseye-slim AS builder - -ARG BLOGAI_HOST=ai.szaiai.com -ENV NODE_ENV=production -ENV BLOGAI_HOST=${BLOGAI_HOST} - -WORKDIR /app - -RUN npm install -g pnpm - -COPY . ./ - -COPY apps/blogai/.env.example apps/blogai/.env -RUN sed -i "s|{{BLOGAI_HOST}}|${BLOGAI_HOST}|g" apps/blogai/.env - -RUN pnpm install - -# ✅ 不再执行 pnpm run build,让你手动搞 -# WORKDIR /app/apps/blogai -# RUN pnpm run build - - -# --- 第二阶段:运行阶段 --- -FROM node:20-slim AS runner +FROM node:20-bullseye-slim ARG BLOGAI_HOST=ai.szaiai.com ENV NODE_ENV=development -ENV PORT=3008 ENV BLOGAI_HOST=${BLOGAI_HOST} +ENV PORT=3008 -# 安装常用调试工具 +# 安装工具:pnpm + 调试常用工具 RUN apt-get update && \ - apt-get install -y supervisor curl vim bash && \ + apt-get install -y curl vim bash supervisor && \ + npm install -g pnpm && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* -# 设置 supervisor 配置目录(你要调试可以不用 supervisor) -RUN mkdir -p /etc/supervisor/conf.d +WORKDIR /app -# 设置工作目录 -WORKDIR /plugai +# 拷贝依赖锁文件和配置 +COPY pnpm-lock.yaml ./ +COPY pnpm-workspace.yaml ./ +COPY package.json ./ -# 拷贝 supervisor.conf 到指定路径 -COPY ./supervisor.conf /etc/supervisor/conf.d/supervisor.conf +# 拷贝所有源码 +COPY . ./ -# 拷贝 node_modules 和源码 -COPY --from=builder /app /plugai +# 拷贝并处理 .env +COPY apps/blogai/.env.example apps/blogai/.env +RUN sed -i "s|{{BLOGAI_HOST}}|${BLOGAI_HOST}|g" apps/blogai/.env -# 默认进入 blogai 子项目 -WORKDIR /plugai/apps/blogai +# 安装依赖 +RUN pnpm install -# 设置 shell 默认入口 +# 默认进入 blogai 目录 +WORKDIR /app/apps/blogai + +# 默认进 bash,手动调试构建 CMD ["/bin/bash"]