Docker for Windows networking
Great question. I upvoted it to counter the downvote you received. The question is well-written, and I don't see any issues with it. Perhaps they thought it didn't belong on StackOverflow, and was better suited for ServerFault.
Here are a few helpful bullets:
- Docker for Windows creates a Hyper-V Linux VM named
MobyLinuxVM
. - Hyper-V VMs must be connected to a Virtual Switch in order to have network access
- Docker for Windows creates a Hyper-V
Internal
Virtual Switch namedDockerNAT
- Check out What is the Hyper-V Virtual Switch Explained for details about the
internal
Virtual Switch type (you already linked to this)
Docker Swarm
- Using the
overlay
network does indeed require Docker Swarm Mode (see: SwarmKit)
The bottom line here is:
The scenario that you're trying to solve for is not appropriate for Docker for Windows. Docker for Windows is intended to enable software developers to write, debug, and test their applications against a local Linux VM with the Docker Engine installed. That's about it. Docker for Windows automates the process of setting up the Hyper-V VM, installing Linux, installing the Docker Engine, and making it accessible from the command line.
Your proposed scenario under "My Plan" would not be a suitable one for Docker for Windows. Instead, I'd suggest setting up a Docker Swarm Mode cluster. Docker storage gets a bit more complicated than that, though. You'll also want to look into using a Docker storage driver that enables shared storage across your Swarm cluster of Docker Hosts. There's a very popular one called Flocker, developed by ClusterHQ. I'd recommend looking into that as a possible solution.
However, I'd also suggest re-evaluating your goals, and how you accomplish them. Docker might not even be the right solution for generic shared storage.
Hope this helps your efforts.