Learning
Docker

Best practice-ek

Kis image-ek, .dockerignore, nem-root futtatás, konkrét tag-ek, env/secrets, layer és healthcheck.

Best practice-ek

Kis méretű image-ek

# ❌ Nem ajánlott
FROM node:18

# ✅ Ajánlott
FROM node:18-alpine

.dockerignore használata

node_modules
.git
.env
.env.*
*.log
dist
build
coverage
.DS_Store
.next

Ne futtasd root-ként

RUN addgroup -S app && adduser -S app -G app
USER app

Konkrét tag-ek használata

# ❌ Kerüld
FROM node:latest

# ✅ Reprodukálható
FROM node:18.19.0-alpine

Environment változók és secretek

  • Dev: .env + compose env_file
  • Prod: titkokat ne commit-old; használj secret managementet

Layer optimalizálás és cache

RUN apt-get update \
    && apt-get install -y curl git \
    && rm -rf /var/lib/apt/lists/*

Healthcheck

HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
  CMD curl -f http://localhost:3000/health || exit 1

Rövid összefoglaló

  • Alpine + .dockerignore + konkrét tag = gyorsabb és biztonságosabb build.
  • Root futtatás kockázat, kerüld.
  • Cache és layer stratégia gyorsítja a CI/CD-t.

On this page