# 选择官方 Node 镜像 FROM node:18 # 创建工作目录 WORKDIR /app # 复制 package.json 用于安装依赖 COPY server/package*.json ./server/ COPY client/package*.json ./client/ # 安装依赖 RUN cd client && npm install && cd ../server && npm install # 安装 k6 RUN apt-get update && apt-get install -y gnupg ca-certificates \ && curl -s https://dl.k6.io/key.gpg | apt-key add - \ && echo "deb https://dl.k6.io/deb stable main" | tee /etc/apt/sources.list.d/k6.list \ && apt-get update && apt-get install -y k6 # 构建前端 COPY client ./client RUN cd client && npm run build # 复制后端代码(确保把 public 打包进去) COPY server ./server RUN cp -r client/dist/* server/public/ WORKDIR /app/server # 暴露端口 EXPOSE 9001 # 启动服务 CMD ["node", "index.js"]