imetting_frontend/Dockerfile

32 lines
718 B
Docker

# 生产环境服务器 - PM2版本
FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/node:18-slim
# 设置工作目录
WORKDIR /app
# 复制构建产物
COPY dist ./dist
# 复制服务器文件和PM2配置
COPY server.js .
COPY ecosystem.config.json .
# 复制生产环境package.json
COPY package.prod.json package.json
# 安装生产依赖和PM2
RUN npm install --production && \
npm install -g pm2
# 创建日志目录
RUN mkdir -p logs
# 暴露端口
EXPOSE 3001
# 健康检查
HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \
CMD wget --quiet --tries=1 --spider http://localhost:3001/health || exit 1
# 启动PM2
CMD ["pm2-runtime", "start", "ecosystem.config.json"]