La tua docker-compose non espone automaticamente le porte TCP al mondo esterno, come il tuo PC host (presumo che i tuoi nodeJs viene eseguito sull'host e non è incluso in docker-compose ). Questo è il comportamento delle docker bridge networks , puoi leggere di più su https://docs.docker.com/network/bridge/
Devi eseguire una delle seguenti operazioni:
Includi il tuo container NodeJs in docker-compose
o
Esponi le porte da docker-compose.yml