Tu docker-compose no expone automáticamente los puertos tcp al mundo exterior, como su PC host (supongo que su nodeJs se ejecuta en el host y no se incluye en docker-compose ). Este es el comportamiento de docker bridge networks , puede leer más en https://docs.docker.com/network/bridge/
Tienes que hacer uno de los siguientes:
Incluya su contenedor NodeJs en docker-compose
o
Exponer puertos desde docker-compose.yml