Skip to content

Dépannage

Cette section couvre les problèmes courants que vous pourriez rencontrer avec votre backend Dockerisé et fournit des solutions pour les résoudre.

1. Services qui ne démarrent pas

Symptômes

  • Le conteneur ne démarre pas.
  • Le service est en état Exited.

Solutions

Vérifier les Logs du Conteneur

Consultez les logs du conteneur pour identifier les erreurs spécifiques.

docker-compose logs <service_name>

Exemple :

docker-compose logs postgre

Vérifier les Variables d'Environnement

Assurez-vous que toutes les variables d'environnement nécessaires sont correctement définies dans le fichier .env.

Vérifier les Dépendances

Assurez-vous que les services dont dépend le conteneur sont en cours d'exécution.

depends_on:
  - minio

2. Problèmes de Connexion entre Services

Symptômes

  • Les services ne peuvent pas se connecter entre eux.
  • Erreurs de connexion dans les logs.

Solutions

Vérifier le Réseau Docker

Assurez-vous que tous les services sont connectés au même réseau Docker (shared-network).

docker network inspect shared-network

Vérifier les Variables d'Environnement

Vérifiez que les variables d'environnement pour les hôtes et les ports sont correctement définies.

Tester la Connectivité

Utilisez des outils comme ping ou telnet à l'intérieur des conteneurs pour tester la connectivité.

docker exec -it <container_name> ping <service_name>
docker exec -it <container_name> telnet <service_name> <port>

3. Certificats TLS Invalides

Symptômes

  • Erreurs de certificat lors de l'accès aux services via HTTPS.
  • Avertissements de navigateur concernant la sécurité.

Solutions

Vérifier la Configuration de Traefik

Assurez-vous que Traefik est correctement configuré pour gérer les certificats TLS via Cloudflare.

Vérifier les DNS

Assurez-vous que les sous-domaines utilisés pointent correctement vers votre serveur Traefik.

Renouvellement des Certificats

Assurez-vous que les certificats TLS sont valides et renouvelés automatiquement.

docker logs traefik

4. Performance Dégradée

Symptômes

  • Les services sont lents à répondre.
  • Haute utilisation des ressources (CPU, mémoire).

Solutions

Surveiller les Ressources

Utilisez Grafana et Prometheus pour identifier les goulets d'étranglement.

Optimiser les Configurations des Services

Ajustez les configurations des services pour mieux utiliser les ressources disponibles.

Augmenter les Ressources Allouées

Allouez plus de CPU et de mémoire aux conteneurs si nécessaire.

services:
  postgre:
    deploy:
      resources:
        limits:
          cpus: '2.0'
          memory: '4G'

5. Problèmes de Réseau

Symptômes

  • Services ne peuvent pas être atteints via les URLs configurées.
  • Erreurs de réseau dans les logs.

Solutions

Vérifier la Configuration des Labels Traefik

Assurez-vous que les labels Traefik sont correctement définis pour chaque service.

labels:
  - "traefik.enable=true"
  - "traefik.http.routers.service_name.rule=Host(`service.mlops.bzh`)"
  - "traefik.http.routers.service_name.entrypoints=websecure"
  - "traefik.http.routers.service_name.tls.certresolver=cloudflare"
  - "traefik.http.routers.service_name.middlewares=authelia@docker,secureHeaders@docker"

Redémarrer Traefik

Redémarrez le conteneur Traefik pour appliquer les modifications de configuration.

docker-compose restart traefik

Vérifier les Règles de Pare-feu

Assurez-vous que les règles de pare-feu permettent le trafic sur les ports nécessaires.

6. Erreurs dans les Scripts d'Initialisation

Symptômes

  • Les scripts d'initialisation ne s'exécutent pas correctement.
  • Les services ne sont pas configurés comme prévu.

Solutions

Vérifier les Permissions des Scripts

Assurez-vous que les scripts d'initialisation ont les permissions d'exécution.

chmod +x /path/to/script.sh

Vérifier les Logs

Consultez les logs des conteneurs pour identifier les erreurs spécifiques lors de l'exécution des scripts.

docker-compose logs <service_name>

Tester les Scripts Localement

Exécutez les scripts manuellement à l'intérieur des conteneurs pour identifier les problèmes.

docker exec -it <service_name> /bin/bash
./script.sh

7. Problèmes de Stockage Persistant

Symptômes

  • Les données ne sont pas persistées entre les redémarrages des conteneurs.
  • Volumes Docker ne sont pas montés correctement.

Solutions

Vérifier les Montages de Volumes

Assurez-vous que les volumes Docker sont correctement montés dans le fichier docker-compose.yml.

volumes:
  postgre-data:
    driver: local

Vérifier les Permissions des Volumes

Assurez-vous que les permissions des répertoires montés permettent l'écriture par les conteneurs.

chmod -R 755 /path/to/volume

Inspecter les Volumes Docker

Vérifiez l'état des volumes Docker.

docker volume inspect postgre-data

Conclusion

Le dépannage efficace repose sur une identification précise des symptômes et une approche systématique pour résoudre les problèmes.