koa-web-app / Dockerfile
3v324v23's picture
fix: copy api and tsconfig to docker image and move tsx to dependencies
55ef12c
raw
history blame contribute delete
712 Bytes
# 使用 Node.js 18 官方镜像
FROM node:18-alpine AS builder
# 设置工作目录
WORKDIR /app
# 复制 package.json 和 lock 文件
COPY package*.json ./
# 安装依赖
RUN npm install
# 复制所有源代码
COPY . .
# 构建前端应用
RUN npm run build
# 运行环境阶段
FROM node:18-alpine
WORKDIR /app
# 复制构建好的文件和必要文件
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/package*.json ./
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/api ./api
COPY --from=builder /app/tsconfig.json ./tsconfig.json
# 设置环境变量
ENV NODE_ENV=production
ENV PORT=7860
# 暴露端口
EXPOSE 7860
# 启动命令
CMD ["npm", "start"]