The Weave Net legacy plugin actually provides two network drivers to Docker -
weavemesh that can operate without a cluster store and another one
weave that can only work with one (like Docker’s overlay driver), while
the V2 plugin provides one -
operating only in swarm mode.
- Weave Net handles all co-ordination between hosts (referred to by Docker as a “local scope” driver)
- Supports a single network only. A network named
weaveis automatically created for you.
- Uses Weave Net’s partition tolerant IPAM
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.
- This runs in what Docker calls “global scope”, which requires an external cluster store
- Supports multiple networks that must be created using
docker network create --driver weave ...
- Used with Docker’s cluster-store-based IPAM
There’s no specific documentation from Docker on using a cluster store, but the first part of Getting Started with Docker Multi-host Networking is a good place to start.
Note: In the case of multiple networks using the
weavedriver, all containers are on the same virtual network but Docker allocates their addresses on different subnets so they cannot talk to each other directly.
The plugin accepts the following options via
docker network create ... --opt:
works.weave.multicast– tells weave to add a static IP route for multicast traffic onto its interface.
Note: If you connect a container to multiple Weave networks, at most one of them can have the multicast route enabled. The
weavenetwork created when the plugin is first launched has the multicast option turned on, but for any networks you create it defaults to off.
- The driver runs within the plugin V2.
- Requires Docker to run in swarm mode.
- Supports multiple networks.
- Used with Docker’s IPAM.