github.com/brahmaroutu/docker@v1.2.1-0.20160809185609-eb28dde01f16/docs/extend/plugins_network.md (about) 1 <!--[metadata]> 2 +++ 3 title = "Docker network driver plugins" 4 description = "Network driver plugins." 5 keywords = ["Examples, Usage, plugins, docker, documentation, user guide"] 6 [menu.main] 7 parent = "engine_extend" 8 +++ 9 <![end-metadata]--> 10 11 # Engine network driver plugins 12 13 Docker Engine network plugins enable Engine deployments to be extended to 14 support a wide range of networking technologies, such as VXLAN, IPVLAN, MACVLAN 15 or something completely different. Network driver plugins are supported via the 16 LibNetwork project. Each plugin is implemented as a "remote driver" for 17 LibNetwork, which shares plugin infrastructure with Engine. Effectively, network 18 driver plugins are activated in the same way as other plugins, and use the same 19 kind of protocol. 20 21 ## Network driver plugins and swarm mode 22 23 Docker 1.12 adds support for cluster management and orchestration called 24 [swarm mode](../swarm/index.md). Docker Engine running in swarm mode currently 25 only supports the built-in overlay driver for networking. Therefore existing 26 networking plugins will not work in swarm mode. 27 28 When you run Docker Engine outside of swarm mode, all networking plugins that 29 worked in Docker 1.11 will continue to function normally. They do not require 30 any modification. 31 32 ## Using network driver plugins 33 34 The means of installing and running a network driver plugin depend on the 35 particular plugin. So, be sure to install your plugin according to the 36 instructions obtained from the plugin developer. 37 38 Once running however, network driver plugins are used just like the built-in 39 network drivers: by being mentioned as a driver in network-oriented Docker 40 commands. For example, 41 42 $ docker network create --driver weave mynet 43 44 Some network driver plugins are listed in [plugins](plugins.md) 45 46 The `mynet` network is now owned by `weave`, so subsequent commands 47 referring to that network will be sent to the plugin, 48 49 $ docker run --network=mynet busybox top 50 51 52 ## Write a network plugin 53 54 Network plugins implement the [Docker plugin 55 API](https://docs.docker.com/extend/plugin_api/) and the network plugin protocol 56 57 ## Network plugin protocol 58 59 The network driver protocol, in addition to the plugin activation call, is 60 documented as part of libnetwork: 61 [https://github.com/docker/libnetwork/blob/master/docs/remote.md](https://github.com/docker/libnetwork/blob/master/docs/remote.md). 62 63 # Related Information 64 65 To interact with the Docker maintainers and other interested users, see the IRC channel `#docker-network`. 66 67 - [Docker networks feature overview](../userguide/networking/index.md) 68 - The [LibNetwork](https://github.com/docker/libnetwork) project