Aller au contenu principal

Container Security

Secure Docker containers for production deployments.

Base Image Selection

# Use minimal, non-root images
FROM node:20-alpine AS runtime
RUN addgroup -g 1001 gauzy && adduser -u 1001 -G gauzy -s /bin/sh -D gauzy
USER gauzy

Security Hardening

Read-Only Filesystem

securityContext:
readOnlyRootFilesystem: true
runAsNonRoot: true
runAsUser: 1001
allowPrivilegeEscalation: false
capabilities:
drop: ["ALL"]

Resource Limits

resources:
limits:
cpu: "2"
memory: "2Gi"
requests:
cpu: "500m"
memory: "512Mi"

Image Scanning

# Scan with Trivy
trivy image ghcr.io/ever-co/gauzy-api:latest

# Scan with Docker Scout
docker scout cves ghcr.io/ever-co/gauzy-api:latest

Best Practices

PracticeDescription
Multi-stage buildsMinimize image size
.dockerignoreExclude secrets, dev files
No rootRun as non-root user
Pin versionsUse exact image tags
Scan regularlyCI/CD vulnerability scanning
Limit capabilitiesDrop ALL, add only needed
Read-only FSPrevent runtime file writes
Health checksContainer-level health probes