Saltar al contenido 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