I am going through an article weave net driver and was trying my hands on it. I was able to use the default weavemesh
driver for container-to-container communication on single host. The issue comes when i try to create multiple networks using weave
network driver plugin. I get the following error.
[ankit@local-machine]$ docker network create -d weave netA
Error response from daemon: failed to parse pool request for address space "GlobalDefault" pool "" subpool "": cannot find address space GlobalDefault (most likely the backing datastore is not configured)
Now, as i understand from docker documentation at Getting Started with Docker Multi-host Networking , It needs a key value store to be configured. I was wondering if my understanding is correct? Is there any way to create multiple networks over weave
network to achieve network isolation. I want to be able to segregate network traffic for one container from another container running on the same box.
There is a new weave 1.4 plugin
docker networking without cluster store plugin announcement recently which says it supports docker networking without external cluster store. how does it exactly work. its not very clear if it could be used to create multiple networks over weave
.
This issue asked:
Did you start the docker daemon with --cluster-store?
You need to pass peers ips to weave launch-router
$peers
when starting docker with--cluster-store
and--cluster-advertise
.
The doc mentions:
The Weave plugin actually provides two network drivers to Docker
- one named
weavemesh
that can operate without a cluster store and- one named
weave
that can only work with one (like Docker’s overlay driver).
Hence the need to Set up a key-value store first.
If you are using the weave
plugin, your understanding is correct.
PR 1738 has more on the new weave 1.4+ ability to operate without a keystore with the weavemesh
driver. Its doc does mention:
If you do create additional networks using the
weavemesh
driver, containers attached to them will be able to communicate with containers attached to weave; there is no isolation between those networks.
But PR 1742 is still open "Allow user to specify a subnet range for each docker host".