Short answer is yes, but there's lots of ways to do it.
While my example was simple to keep the concept count low, the next step you would do is make the Nginx configuration file to be volume mounted so that way you can write (add/update) new entries that could be containers on separate VMs.
Again, there are many ways to do this. One way is to listen to Docker for when a container has been created or destroyed. To do that, you can listen to docker events, like if a new container is spun up, it's added to the load balancer.
That works great on a single VM by default. To have it work across multiple VMs, you can use Docker Swarm. Docker Swarm allows you to add, say three VMs into one logical VM. More info on Swarm can be found here. The nice thing about Swarm is you can use the exact same commands, like the Docker events to get information on state changes for containers across multiple VMs.
So back to our example, setup 3 VMs using Docker Swarm, choose one of those to run Nginx with a volume mounted config file, listen to Docker events and add/update the config file based on what containers are running on what machines.
Each clustering/orchestration tool will have their own answer for this as well, so again this is one of many solutions.
Why would someone want to host Docker in a VM in Azure? I mean the whole point of using Docker is to get rid of VMs, right?
No, that's not the point of Docker, watch my Docker overview video, but there's a number of benefits - portability, density, production realism.
My understanding is that if I want to use a cheap open source cloud instead of Azure, I'd use containers (like Docker) on top of a Linux (or better yet CoreOS) machine which allows me to scale and at the same time to save costs and still have many of the benefits of cloud
I don't know what a cheap open source cloud is, but whether it's Azure or another cloud vendor or Linux or CoreOS (which Azure supports), you are still running virtualized.
Moreover, I don't have to deal with VMs anymore because this is an improved architecture over old VM style.
I don't know what this means, where is the architectural benefit?
Now if I want to host my website in Azure, I'd just publish to Azure. I bet it will be MUCH easier without the Docker and Linux stuff in between and it probably performs much better.
How are you publishing to Azure? Using Azure App Service? That certainly is an option, but Microsoft has already stated that the performance would be about the same between Windows and Linux.
So, my question is what is the point of this video?
It's so show how our tools make it easy to create a virtual machine that can use Docker and publish ASP.NET 5 apps easily. Once you have a Docker-enabled virtual machine, you can host a number of other Docker containers like Nginx, Redis, MongoDB and others, even on the same virtual machine. Second, the VS Tools for Docker are designed to Dockerize ASP.NET apps, they work whether you are targeting an on-premise server, your laptop using Boot2Docker, or a virtual machine running in AWS, Digital Ocean, etc.
The easy way to do it would be to pass it in via Docker Run, the same place where we call the "foo" app to run, just like you would from a console. If you need to make it more dynamic, then you probably want one app to run and then call an external process to call another console app directly from the command line, much like that demo calls a command line utility.
Good point, we wanted to have a session that was a bit more than just slides and showed coding against services as well as some best practices for setting up and configuring your environment. If you have suggestions for the content of the session, I'd like to hear them.
My personal thoughts are that for indie developers, we provide a totally free way to watch *every* session online in < 24 hours. That's unheard of in our industry. The total cost is $0.
If you are an indie developer, then I totally understand the importance of reducing costs. Traveling and airfare to an event can even cost as much as a pass to a conference like Build ($250/night for hotel, $400-1,200 on airfare depending on domestic vs international, food, etc).
If I was an indie developer, I would:
Watch the live streams and ask questions during live Q&A
Watch all the sessions that are relevant to me
Attend FREE Microsoft training like our 1-2 day dev camps on Windows, Phone, Azure, Web - http://www.devcamps.ms/. The best thing about these camps is that they are so many that you may not have to incur any travel costs to attend.