1.1 Pourquoi effectuer des opérations de maintenance
Sur une VM Windows, l'application est conçue pour être résiliente et ne nécessite pas de maintenance fréquente. Cependant, dans certaines situations, il peut être nécessaire de redémarrer les conteneurs Docker pour appliquer une nouvelle version ou récupérer d'un état d'erreur.
Par exemple, si le traitement des données échoue, des fichiers temporaires peuvent s'accumuler dans les volumes Redis ou RabbitMQ. Arrêter et redémarrer l'application efface ces fichiers et réinitialise la file d'attente.
Remarque : Cette section couvre uniquement la maintenance au niveau Docker. La configuration réseau ou pare-feu spécifique à votre organisation est hors du périmètre de ce document.
1.2 Quand effectuer une maintenance ?
1.2.1 Échec des traitements de données
Le premier signal indiquant que votre application nécessite une attention particulière est lorsque les traitements de données lancés depuis Salesforce affichent un statut Failed. Avant d'agir, vérifiez la description de l'erreur pour écarter des problèmes dans vos règles de dédoublonnage ou d'autres intégrations.
Si l'erreur pointe vers le serveur lui-même, passez à la section 1.3, Comment procéder.
1.2.2 Traitements de données en attente
Si la file d'attente reste bloquée sur le même message et empêche les traitements de données, videz le volume RabbitMQ et redémarrez l'application.
-
Étape 1 — Arrêter l'application :
cd C:\dqe-unify docker compose stop rabbitmq -
Étape 2 — Vider le volume de données RabbitMQ :
# Delete all files in the rabbitvol directory Remove-Item -Recurse -Force "C:\dqe-unify\volumes\rabbitvol\*" -
Étape 3 — Redémarrer RabbitMQ :
docker compose start rabbitmq
Si le problème persiste, effectuez un redémarrage complet comme décrit dans la section 1.3.
1.3 Comment procéder
1.3.1 Étape 1 – Récupérer les logs
Les logs sur une VM Windows sont gérés directement par Docker. Utilisez les commandes suivantes pour les récupérer.
Afficher les logs en direct pour tous les services :
cd C:\dqe-unify
docker compose logs -f
Afficher les logs d'un service spécifique :
docker compose logs -f unify-server
docker compose logs -f queue-worker
Exporter les logs vers un fichier pour analyse :
docker compose logs --no-color unify-server C:\dqe-unify\logs\unify-server.log
docker compose logs --no-color queue-worker C:\dqe-unify\logs\queue-worker.log
Rétention des logs : Les logs Docker sont stockés sur le disque de la VM et ne sont pas automatiquement archivés (rotation). Pour configurer la rotation des logs, modifiez la configuration du daemon Docker (C:\ProgramData\Docker\config\daemon.json) :
{
"log-driver": "json-file",
"log-opts": {
"max-size": "50m",
"max-file": "5"
}
}
1.3.2 Étape 2 – Reconstruire / mettre à jour l'application
Pour déployer une nouvelle version d'image ou vider tous les volumes, arrêtez et supprimez les conteneurs, puis récupérez les dernières images et redémarrez.
-
Étape 1 — Arrêter et supprimer tous les conteneurs :
cd C:\dqe-unify docker compose down -
Étape 2 — Optionnel : vider les volumes persistants si nécessaire :
Remove-Item -Recurse -Force "C:\dqe-unify\volumes\redisvol\*" Remove-Item -Recurse -Force "C:\dqe-unify\volumes\rabbitvol\*" -
Étape 3 — Récupérer les dernières images :
docker compose pull -
Étape 4 — Redémarrer l'application :
docker compose up -d
1.3.3 Étape 3 – Redémarrer
Pour un simple redémarrage, sans vider les volumes ni récupérer de nouvelles images, exécutez :
cd C:\dqe-unify
docker compose restart
Surveiller le redémarrage :
docker compose ps
Tous les services doivent atteindre le statut running. Si un service affiche exited ou reste bloqué dans une boucle restarting, vérifiez ses logs et contactez le support DQE Software si le problème ne peut pas être résolu.
Important : La politique restart: always dans le fichier Compose garantit que les conteneurs redémarrent automatiquement après un redémarrage de la VM ou du daemon Docker. Aucune intervention manuelle n'est nécessaire pour les redémarrages de VM courants.
1.4 Assurer le démarrage automatique au boot de la VM
Sur Windows Server, Docker Engine s'exécute en tant que service Windows. Assurez-vous qu'il est configuré pour démarrer automatiquement afin que les conteneurs redémarrent après tout redémarrage de la VM sans intervention manuelle.
Vérifiez le type de démarrage du service dans PowerShell en tant qu'administrateur :
Get-Service docker | Select-Object Name, StartType, Status
Si StartType n'est pas Automatic, définissez-le :
Set-Service -Name docker -StartupType Automatic
Start-Service docker
Étant donné que restart: always est défini pour chaque service dans docker-compose.yml, Docker Engine redémarrera automatiquement tous les conteneurs lorsque le service démarrera au boot. Aucune configuration supplémentaire n'est nécessaire.
1.5 Référence des commandes utiles
| Action | Commande (à exécuter depuis C:\dqe-unify) |
|---|---|
| Démarrer tous les services | docker compose up -d |
| Arrêter tous les services | docker compose down |
| Redémarrer tous les services | docker compose restart |
| Voir le statut | docker compose ps |
| Voir tous les logs | docker compose logs -f |
| Voir les logs du serveur | docker compose logs -f unify-server |
| Voir les logs du worker | docker compose logs -f queue-worker |
| Récupérer les dernières images | docker compose pull |
| Reconstruire et redéployer | docker compose down && docker compose pull && docker compose up -d |
| Se connecter au shell d'un conteneur | docker compose exec unify-server bash |
| Inspecter l'utilisation des ressources du conteneur | docker stats |
Associé à