Add health check and improve Docker layer caching

- Install curl for HEALTHCHECK support
- Add HEALTHCHECK instruction using /health endpoint
- Improve layer caching by copying package.json before app code
- Add helpful comments for better maintainability
- Health check runs every 10s with 5s start period and 2 retries

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
ryan.gogo
2026-02-15 10:40:00 +01:00
parent f5d778956f
commit ceb77b2d5a

View File

@@ -2,12 +2,19 @@ FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
# Install curl for healthcheck
RUN apk add --no-cache curl
# Copy package files first for layer caching
COPY package*.json ./
RUN npm install --production
# Copy app code (changes more often — below the cached layer)
COPY . .
EXPOSE 3000
HEALTHCHECK --interval=10s --timeout=3s --start-period=5s --retries=2 \
CMD curl -f http://localhost:3000/health || exit 1
CMD ["node", "server.js"]