How to scale applications


Really general beginner question as this is a massive gap in my understanding of container orchestration as a whole! Sorry if this is the wrong place to ask

I have an application that hosts some API endpoints, these endpoints process data and push the data out to a downstream container for further processing.If this application is running in a docker container, I can define the host:container port mapping.

If I look to scale this application, these rigid port bindings become an issue, if a second instance of a container is initialized, how will the system feeding data to the application know about this? Is there some gateway process that has an awareness of this, and will automatically proxy the data to spread it amongst the running container instances?