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