1234567891011121314151617181920212223242526272829303132333435 |
- # 选择官方 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"]
|