github.com/kaisenlinux/docker.io@v0.0.0-20230510090727-ea55db55fac7/cli/docs/extend/plugins_network.md (about) 1 --- 2 description: "Network driver plugins." 3 keywords: "Examples, Usage, plugins, docker, documentation, user guide" 4 --- 5 6 <!-- This file is maintained within the docker/cli GitHub 7 repository at https://github.com/docker/cli/. Make all 8 pull requests against that repo. If you see this file in 9 another repository, consider it read-only there, as it will 10 periodically be overwritten by the definitive file. Pull 11 requests which include edits to this file in other repositories 12 will be rejected. 13 --> 14 15 # Docker network driver plugins 16 17 This document describes Docker Engine network driver plugins generally 18 available in Docker Engine. To view information on plugins 19 managed by Docker Engine, refer to [Docker Engine plugin system](index.md). 20 21 Docker Engine network plugins enable Engine deployments to be extended to 22 support a wide range of networking technologies, such as VXLAN, IPVLAN, MACVLAN 23 or something completely different. Network driver plugins are supported via the 24 LibNetwork project. Each plugin is implemented as a "remote driver" for 25 LibNetwork, which shares plugin infrastructure with Engine. Effectively, network 26 driver plugins are activated in the same way as other plugins, and use the same 27 kind of protocol. 28 29 ## Network plugins and swarm mode 30 31 [Legacy plugins](legacy_plugins.md) do not work in swarm mode. However, 32 plugins written using the [v2 plugin system](index.md) do work in swarm mode, as 33 long as they are installed on each swarm worker node. 34 35 ## Use network driver plugins 36 37 The means of installing and running a network driver plugin depend on the 38 particular plugin. So, be sure to install your plugin according to the 39 instructions obtained from the plugin developer. 40 41 Once running however, network driver plugins are used just like the built-in 42 network drivers: by being mentioned as a driver in network-oriented Docker 43 commands. For example, 44 45 ```console 46 $ docker network create --driver weave mynet 47 ``` 48 49 Some network driver plugins are listed in [plugins](legacy_plugins.md) 50 51 The `mynet` network is now owned by `weave`, so subsequent commands 52 referring to that network will be sent to the plugin, 53 54 ```console 55 $ docker run --network=mynet busybox top 56 ``` 57 58 59 ## Find network plugins 60 61 Network plugins are written by third parties, and are published by those 62 third parties, either on 63 [Docker Store](https://store.docker.com/search?category=network&q=&type=plugin) 64 or on the third party's site. 65 66 ## Write a network plugin 67 68 Network plugins implement the [Docker plugin API](plugin_api.md) and the network 69 plugin protocol 70 71 ## Network plugin protocol 72 73 The network driver protocol, in addition to the plugin activation call, is 74 documented as part of libnetwork: 75 [https://github.com/docker/libnetwork/blob/master/docs/remote.md](https://github.com/docker/libnetwork/blob/master/docs/remote.md). 76 77 ## Related Information 78 79 To interact with the Docker maintainers and other interested users, see the IRC channel `#docker-network`. 80 81 - [Docker networks feature overview](https://docs.docker.com/engine/userguide/networking/) 82 - The [LibNetwork](https://github.com/docker/libnetwork) project