I have an old script that uses
docker-machine create to create an number of Hyper-V VMs and run a server application inside each one, using docker. It was done this way because the application instances use hard-coded port numbers, and would run into port-collisions if all the application would try to bind to the same port. Creating a machine for each one prevents this collision because each machine has it's own IP. All the VMs are running on the same physical hardware.
docker-machine has been deprecated a while now, so what's the modern way to achieve the same?
What I'm looking for is to be able to run multiple instances of the server application on the same physical hardware, while also having all the applications listening to the same host port. While I realise that I would ideally remove the need for fixed port numbers, this is a bigger job than I can undertake right now because the port number is also hard-coded in deployed client applications.