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 :
| Fichier | Architecture | Exemples d’appareils |
|---|---|---|
Dockerfile | Par défaut (utilisé comme fallback) | Tout |
Dockerfile.armv7 | ARMv7 | Raspberry Pi 3/4 (32 bits) |
Dockerfile.arm64 | ARM64 | NVIDIA Jetson, RPi 4/5 (64 bits) |
Dockerfile.amd64 | AMD64 | PC 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-stoppedBonnes pratiques
- Gardez les images légères — Utilisez des images de base
-slimou-alpinepour réduire les temps de téléchargement. - Épinglez les versions — Utilisez des tags de version spécifiques (
python:3.11-slim) plutôt quelatest. - 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