docker-plugin
docker-plugin copied to clipboard
Creating more than one network
Weave's IPAM supports only one subnet at present, which means (assuming IPAM is the only kind of co-ordination) that the weave plugin can have only one network. So this will have wait for IPAM to be able to allocate subnets, and support allocating IPs from a specific subnet.
So this will have wait for IPAM to be able to allocate subnets, and support allocating IPs from a specific subnet.
This requirement is encoded as the "symbolic names" variety of https://github.com/weaveworks/weave/issues/676
- When the plugin is deployed as a global driver, we get multiple network support by virtue of using Docker's default IPAM. There is no advantage to using our own IPAM because Docker still does KV operations on container start/stop to propagate service discovery information to all hosts - consequently there is no point extending our IPAM to support multiple subnets in this scenario.
- With the plugin deployed as a local driver to avoid the kv dependency (see #43) we can have only one subnet, so although we would be using our own IPAM there is no need to extend it to support subnet allocation.
Given the above we cannot make progress on this issue until such time as Docker allow us to create global drivers without requiring a kv store.
When the plugin is deployed as a global driver, we get multiple network support by virtue of using Docker's default IPAM.
Specifically: Docker's default IPAM will allocate a fresh, distinct subnet for each network, and that means that even if weave does nothing on network creation, the containers on each network will be in a subnet together.