According to this website, when a network of containers is set up, each container listens to port 80 by default and this can lead to conflict between incoming traffic. This is solved by using the Nginx reverse proxy (also listening on port 80) which looks for the VIRTUAL_HOST variable and routes the traffic to the right container.
But here's what I don't understand. If Nginx is also listening on port 80 (like all the other containers), then how does that solve the traffic conflict problem? Since Nginx is listening on port 80, then shouldn't the conflict problem still persist? Does Nginx automatically capture all incoming traffic regardless of the port number of the other containers? I find this whole concept quite confusing.