github.com/olljanat/moby@v1.13.1/docs/extend/plugins_network.md (about)

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