diff --git a/deploy.sh b/deploy.sh index b6d6139..efc5147 100644 --- a/deploy.sh +++ b/deploy.sh @@ -41,7 +41,6 @@ docker run -d \ --restart always \ -p $PORT:3000 \ --env-file .env.production \ - -v $(pwd)/prisma:/app/prisma \ $IMAGE_NAME echo "部署完成!请访问 http://<你的服务器IP或域名>:$PORT" \ No newline at end of file diff --git a/dockerfile b/dockerfile index c087380..fdb7ba8 100644 --- a/dockerfile +++ b/dockerfile @@ -3,11 +3,27 @@ FROM node:20 WORKDIR /app +# 复制 package.json 和 package-lock.json COPY package*.json ./ -RUN npm install --production +# 安装所有依赖(包括开发依赖,因为需要 Prisma) +RUN npm install + +# 复制 Prisma schema +COPY prisma ./prisma + +# 生成 Prisma 客户端 +RUN npx prisma generate + +# 复制其余文件 COPY . . +# 构建 Next.js 生产版本 +RUN npm run build + +# 删除开发依赖以减小镜像大小 +RUN npm prune --production + # 端口可根据 next.config.js 设置 EXPOSE 3000