# 使用 DaoCloud 镜像(国内可用) FROM docker.m.daocloud.io/library/node:18-alpine WORKDIR /app # 复制 package 文件 COPY package*.json ./ # 安装依赖(生产环境) RUN npm ci --only=production # 复制源代码 COPY src/ ./src/ # 创建配置和日志目录(挂载点) RUN mkdir -p /app/config /app/logs # 设置权限 RUN chown -R node:node /app # 切换到非 root 用户 USER node EXPOSE 3030 # 健康检查 HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ CMD wget --no-verbose --tries=1 --spider http://localhost:3030/health || exit 1 CMD ["node", "src/index.js"]