Skip to Content

Docker et Compose

Les applications IronFlock sont empaquetées comme des images Docker. Le Dockerfile définit l’environnement d’exécution de votre code applicatif.

Dockerfile

Chaque application nécessite un Dockerfile dans le dossier racine :

FROM python:3.11-slim WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . CMD ["python", "main.py"]

Support multi-architecture

Pour cibler différentes architectures d’appareils, ajoutez des Dockerfiles spécifiques à l’architecture :

FichierArchitectureExemples d’appareils
DockerfilePar défaut (utilisé comme fallback)Tout
Dockerfile.armv7ARMv7Raspberry Pi 3/4 (32 bits)
Dockerfile.arm64ARM64NVIDIA Jetson, RPi 4/5 (64 bits)
Dockerfile.amd64AMD64PC industriels, Intel NUCs

Docker Compose

Pour les applications avec plusieurs services, utilisez Docker Compose :

# docker-compose.yml version: "3" services: app: build: . volumes: - /data:/data - /shared:/shared ports: - "5000:5000" restart: unless-stopped redis: image: redis:7-alpine restart: unless-stopped

Bonnes pratiques

  • Gardez les images légères — Utilisez des images de base -slim ou -alpine pour réduire les temps de téléchargement.
  • Épinglez les versions — Utilisez des tags de version spécifiques (python:3.11-slim) plutôt que latest.
  • Mettez en cache les couches — Copiez les fichiers de dépendances avant le code applicatif.
  • Utilisez .dockerignore — Excluez les fichiers inutiles du contexte de build.
Last updated on