Docker for Windows networking Docker for Windows networking docker docker

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 named DockerNAT
  • 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.