Files
status/Dockerfile
2025-07-20 16:19:20 -07:00

26 lines
580 B
Docker

# 构建阶段
FROM node:18-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --production
COPY . .
RUN npm install -g pkg && \
pkg server.js --targets node18-linux-x64 --output app
# 运行时阶段
FROM alpine:3.18
RUN apk add --no-cache libstdc++
WORKDIR /app
COPY --from=builder /app/app .
# 安全配置
RUN addgroup -S appgroup && \
adduser -S appuser -G appgroup && \
chown -R appuser:appgroup /app
USER appuser
EXPOSE 3001
HEALTHCHECK --interval=30s --timeout=3s \
CMD wget -qO- http://localhost:3001/health || exit 1
ENTRYPOINT ["./app"]