Twój docker-compose nie udostępnia automatycznie portów tcp światu zewnętrznemu, na przykład komputera hosta (zakładam, że twoje nodeJs działa na hoście i nie jest uwzględniony w docker-compose ). To jest zachowanie docker bridge networks , możesz przeczytać więcej na https://docs.docker.com/network/bridge/
Musisz wykonać jedną z następujących czynności:
Dołącz kontener NodeJs do docker-compose
lub
Ujawnij porty z docker-compose.yml