Modelli di contenitori

Best practice per Docker e container per le distribuzioni di produzione

ModelliContenitore

Modelli di utilizzo efficaci dei contenitori per lo sviluppo e la produzione.

Costruzioni in più fasi

Riduci le dimensioni dell'immagine separando build e runtime:

# Build stage
FROM python:3.11-slim AS builder
WORKDIR /app
COPY pyproject.toml .
RUN pip install build && python -m build

# Runtime stage
FROM python:3.11-slim
WORKDIR /app
COPY --from=builder /app/dist/*.whl .
RUN pip install *.whl && rm *.whl
CMD ["python", "-m", "myapp"]

Controlli sanitari

Includere sempre controlli sanitari:

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

Docker Compose per lo sviluppo

CODICE_BLOCCO_2

Migliori pratiche di sicurezza

  1. Utilizza utente non root
RUN useradd -m appuser
USER appuser
  1. Inserisci versioni immagine
FROM python:3.11.7-slim  # Not just :latest
  1. Cerca le vulnerabilità CODICE_BLOCCO_5

  2. Utilizza .dockerignore CODICE_BLOCCO_6

Limiti delle risorse

Stabilisci sempre dei limiti nella produzione:

CODICE_BLOCCO_7