2.4 KiB
Guide d'utilisation de Docker avec Managerr
Ce document explique comment utiliser Docker pour exécuter l'application Managerr.
Prérequis
- Docker installé sur votre machine
- Docker Compose installé sur votre machine
Commandes de base
Démarrage standard
./docker-manage.sh start
Cette commande démarre tous les services (MongoDB, backend et frontend) avec la configuration standard qui inclut des healthchecks pour s'assurer que MongoDB est prêt avant de démarrer le backend.
Démarrage simplifié (en cas de problème)
Si vous rencontrez l'erreur "dependency failed to start: container managerr-mongodb is unhealthy", utilisez cette commande :
./docker-manage.sh start:simple
Cette commande utilise une configuration simplifiée sans healthcheck, ce qui peut résoudre les problèmes de démarrage.
Arrêt des services
./docker-manage.sh stop
Afficher l'état des services
./docker-manage.sh status
Afficher les logs
# Tous les services
./docker-manage.sh logs
# Seulement le frontend
./docker-manage.sh logs:front
# Seulement le backend
./docker-manage.sh logs:back
# Seulement MongoDB
./docker-manage.sh logs:db
Résolution des problèmes
Erreur : "dependency failed to start: container managerr-mongodb is unhealthy"
Cette erreur se produit généralement lorsque le healthcheck de MongoDB échoue. Plusieurs solutions sont possibles :
-
Utilisez la commande de démarrage simplifiée :
./docker-manage.sh start:simple -
Si vous avez déjà essayé de démarrer les conteneurs, nettoyez d'abord :
docker-compose down -
Si le problème persiste, vérifiez les logs de MongoDB :
docker logs managerr-mongodb -
Assurez-vous que le port 27017 est libre sur votre machine :
sudo lsof -i :27017Si un autre service utilise ce port, arrêtez-le ou modifiez le port dans docker-compose.yml.
Problème de connexion depuis le backend vers MongoDB
Si le backend ne parvient pas à se connecter à MongoDB, vérifiez que l'URL de connexion est correcte dans le fichier .env du backend et dans docker-compose.yml. Dans le contexte Docker, l'URL doit être :
mongodb://root:rootpassword@mongodb:27017/managerr?authSource=admin
Notez que l'hôte est mongodb (le nom du service dans docker-compose.yml) et non localhost.