32 lines
718 B
Docker
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"] |