Dockerfile 815 B

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