You state you can connect to <app_test_port> so I am assuming the problem is that you cannot connect to a non-test port (i.e. operational port).
So, probably not "the" answer. But I would recommend the troubleshooting path is to start closest to the application and work your way out.
- Get in the container. Is the app listening on the port you think (netstat or ss)? Can you connect from there?
- Is your container configured to expose the operational port? Is docker mapping external ports to internal ports? Is the mapping correct?
- From the VM, curl (or wget) to the app using the app. This ignores NSG (network security group, etc.).
- From the VM can you connect to Traefik. If 1-3 worked but failed here, then your Traefik mappings aren't right.
- From a VM on the same virtual network, try to connect. If you can connect but failed here then the NSG is probably wrong. Also, maybe there's a firewall in your way on the VM
You get the idea. Without a lot more specific information I'm guessing you'll find a disconnect somewhere in steps 1-4.