With Dokploy (and more specifically Traefik) we do not need to bind ports. As long as we specify the port mapping for the service in Dokploy (typically configured to 3000), Traefik will reverse proxy it without the port needing to be binded to a port in the host.
Not sure if there is a specific reason for this, but I don't like just exposing the port. Feels like a security concern. I noticed that it is done here: