FROM node:20-bookworm-slim # better-sqlite3 是原生模块,需要编译工具 RUN apt-get update && apt-get install -y \ python3 make g++ \ && rm -rf /var/lib/apt/lists/* WORKDIR /app # 先单独拷 package*.json,利用 docker 层缓存 COPY package*.json ./ RUN npm install --omit=dev COPY src ./src ENV NODE_ENV=production EXPOSE 3000 CMD ["node", "src/index.js"]