github.com/khulnasoft/cli@v0.0.0-20240402070845-01bcad7beefa/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 document describes Docker Engine network driver plugins generally
     8  available in Docker Engine. To view information on plugins
     9  managed by Docker Engine, refer to [Docker Engine plugin system](index.md).
    10  
    11  Docker Engine network plugins enable Engine deployments to be extended to
    12  support a wide range of networking technologies, such as VXLAN, IPVLAN, MACVLAN
    13  or something completely different. Network driver plugins are supported via the
    14  LibNetwork project. Each plugin is implemented as a  "remote driver" for
    15  LibNetwork, which shares plugin infrastructure with Engine. Effectively, network
    16  driver plugins are activated in the same way as other plugins, and use the same
    17  kind of protocol.
    18  
    19  ## Network plugins and Swarm mode
    20  
    21  [Legacy plugins](legacy_plugins.md) do not work in Swarm mode. However,
    22  plugins written using the [v2 plugin system](index.md) do work in Swarm mode, as
    23  long as they are installed on each Swarm worker node.
    24  
    25  ## Use network driver plugins
    26  
    27  The means of installing and running a network driver plugin depend on the
    28  particular plugin. So, be sure to install your plugin according to the
    29  instructions obtained from the plugin developer.
    30  
    31  Once running however, network driver plugins are used just like the built-in
    32  network drivers: by being mentioned as a driver in network-oriented Docker
    33  commands. For example,
    34  
    35  ```console
    36  $ docker network create --driver weave mynet
    37  ```
    38  
    39  Some network driver plugins are listed in [plugins](legacy_plugins.md)
    40  
    41  The `mynet` network is now owned by `weave`, so subsequent commands
    42  referring to that network will be sent to the plugin,
    43  
    44  ```console
    45  $ docker run --network=mynet busybox top
    46  ```
    47  
    48  ## Find network plugins
    49  
    50  Network plugins are written by third parties, and are published by those
    51  third parties, either on
    52  [Docker Hub](https://hub.docker.com/search?q=&type=plugin)
    53  or on the third party's site.
    54  
    55  ## Write a network plugin
    56  
    57  Network plugins implement the [Docker plugin API](plugin_api.md) and the network
    58  plugin protocol
    59  
    60  ## Network plugin protocol
    61  
    62  The network driver protocol, in addition to the plugin activation call, is
    63  documented as part of libnetwork:
    64  [https://github.com/moby/moby/blob/master/libnetwork/docs/remote.md](https://github.com/moby/moby/blob/master/libnetwork/docs/remote.md).
    65  
    66  ## Related Information
    67  
    68  To interact with the Docker maintainers and other interested users, see the IRC channel `#docker-network`.
    69  
    70  - [Docker networks feature overview](https://docs.docker.com/engine/userguide/networking/)
    71  - The [LibNetwork](https://github.com/docker/libnetwork) project