Nodemon ne redémarre pas dans l’environnement Windows Docker

Mon objective est de configurer un conteneur Docker qui redémarre automatiquement un serveur NodeJS lorsque des modifications de fichiers sont détectées sur la machine hôte.

J’ai choisi nodemon pour regarder les fichiers pour les changements.

Sur les environnements Linux et Mac, nodemon et docker fonctionnent parfaitement.

Cependant, lorsque je suis dans un environnement Windows , nodemon ne redémarre pas le serveur.

Les fichiers sont mis à jour sur la machine hôte et sont liés à l’aide du paramètre volumes de mon fichier docker-compose.yml.

Je peux voir que les fichiers ont changé lorsque je lance docker exec cat /path/to/fileChanged.js . De cette façon, je sais que les fichiers sont liés correctement et ont été modifiés dans le conteneur.

Y a-t-il une raison pour laquelle nodemon ne redémarre pas le serveur pour Windows?

Utilisez nodemon --legacy-watch pour rechercher les modifications de fichier au lieu d’écouter les événements du système de fichiers.

VirtualBox ne transmet pas les événements du système de fichiers sur le partage vboxfs à votre machine virtuelle Linux. Si vous utilisez Docker pour Windows, il semblerait que HyperV ne propage pas non plus les événements du système de fichiers.