How is this achieved with Docker, would I deploy Docker into multiple
subnets, or would I just have one subnet say.
In Azure container service, if we choose kubernetes, Azure will create multiple subnets for masters and nodes.
Container use cluster IP(different with azure VM IP) address communicate with other containers, if we want this container can be access from the internet, we can expose this container to the Internet with Azure public Load Balancer, then use this public IP address to access it from the Internet. Azure VM in the this Vnet can't communicate with containers.
So, if we chose kubernetes, we can create multiple containers work as database server, and create another container work as web server, connect web container to database containers, then expose this web container to the Internet, in this way, we can access this web via Azure Load Balancer Public IP address. Web container and database containers in one pod, different pods with different pod CIDR.
Kubernetes is a open-source, production-grade container orchestrator tool, the following image show how kubernetes works on Azure:
If you want to use docker to deploy multiple containers, we should design network, different subnets, different bridge networks and so on. The most convenient way is to use container orchestrator tool, like kubernetes, swarm or DC/OS.