Update Dockerfile
Browse files- Dockerfile +0 -45
Dockerfile
CHANGED
@@ -1,48 +1,3 @@
|
|
1 |
-
# --- Stage 1: Builder ---
|
2 |
-
# 使用一个包含 Node.js 和构建工具的基础镜像
|
3 |
-
# 选择一个与你项目兼容的 Node.js 版本 (例如: 18, 20)
|
4 |
-
FROM node:20-alpine AS builder
|
5 |
-
|
6 |
-
# 设置工作目录
|
7 |
-
WORKDIR /app
|
8 |
-
|
9 |
-
# 复制 package.json 和 lock 文件
|
10 |
-
COPY package*.json ./
|
11 |
-
# 如果使用 yarn 或 pnpm,复制相应的文件 (yarn.lock, pnpm-lock.yaml)
|
12 |
-
# COPY yarn.lock ./
|
13 |
-
# COPY pnpm-lock.yaml ./
|
14 |
-
|
15 |
-
# 安装依赖项 (生产环境依赖和开发依赖,因为需要构建)
|
16 |
-
# 使用 'ci' 或 '--frozen-lockfile' 来确保一致性
|
17 |
-
RUN npm ci
|
18 |
-
# 或者: RUN yarn install --frozen-lockfile
|
19 |
-
# 或者: RUN pnpm install --frozen-lockfile
|
20 |
-
|
21 |
-
# 复制 Prisma schema
|
22 |
-
# 假设你的 prisma 目录在项目根目录下
|
23 |
-
COPY prisma ./prisma/
|
24 |
-
|
25 |
-
# (可选但推荐) 生成 Prisma Client - Next.js build 可能也会触发这个
|
26 |
-
RUN npx prisma generate
|
27 |
-
|
28 |
-
# 复制所有源代码到构建阶段
|
29 |
-
COPY . .
|
30 |
-
|
31 |
-
# 构建 Next.js 应用
|
32 |
-
# 确保你的 next.config.js 中设置了 output: 'standalone'
|
33 |
-
# 例如:
|
34 |
-
# const nextConfig = {
|
35 |
-
# output: 'standalone',
|
36 |
-
# // ...其他配置
|
37 |
-
# };
|
38 |
-
RUN npm run build
|
39 |
-
# 或者: RUN yarn build
|
40 |
-
# 或者: RUN pnpm build
|
41 |
-
|
42 |
-
|
43 |
-
# --- Stage 2: Runner ---
|
44 |
-
# 使用你指定的 blinkospace/blinko:latest 镜像作为最终运行环境
|
45 |
-
# 假设这个镜像提供了 Node.js 运行时和其他必要的环境
|
46 |
FROM blinkospace/blinko:latest
|
47 |
|
48 |
# 设置工作目录 (确保与启动命令中的路径一致)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
FROM blinkospace/blinko:latest
|
2 |
|
3 |
# 设置工作目录 (确保与启动命令中的路径一致)
|