github.com/akashshinde/docker@v1.9.1/docs/extend/plugins.md (about) 1 <!--[metadata]> 2 +++ 3 title = "Extending Docker with plugins" 4 description = "How to add additional functionality to Docker with plugins extensions" 5 keywords = ["Examples, Usage, plugins, docker, documentation, user guide"] 6 [menu.main] 7 parent = "mn_extend" 8 weight=-1 9 +++ 10 <![end-metadata]--> 11 12 # Understand Docker plugins 13 14 You can extend the capabilities of the Docker Engine by loading third-party 15 plugins. This page explains the types of plugins and provides links to several 16 volume and network plugins for Docker. 17 18 ## Types of plugins 19 20 Plugins extend Docker's functionality. They come in specific types. For 21 example, a [volume plugin](plugins_volume.md) might enable Docker 22 volumes to persist across multiple Docker hosts and a 23 [network plugin](plugins_network.md) might provide network plumbing. 24 25 Currently Docker supports volume and network driver plugins. In the future it 26 will support additional plugin types. 27 28 ## Installing a plugin 29 30 Follow the instructions in the plugin's documentation. 31 32 ## Finding a plugin 33 34 The following plugins exist: 35 36 * The [Blockbridge plugin](https://github.com/blockbridge/blockbridge-docker-volume) 37 is a volume plugin that provides access to an extensible set of 38 container-based persistent storage options. It supports single and multi-host Docker 39 environments with features that include tenant isolation, automated 40 provisioning, encryption, secure deletion, snapshots and QoS. 41 42 * The [Convoy plugin](https://github.com/rancher/convoy) is a volume plugin for a 43 variety of storage back-ends including device mapper and NFS. It's a simple standalone 44 executable written in Go and provides the framework to support vendor-specific extensions 45 such as snapshots, backups and restore. 46 47 * The [Flocker plugin](https://clusterhq.com/docker-plugin/) is a volume plugin 48 which provides multi-host portable volumes for Docker, enabling you to run 49 databases and other stateful containers and move them around across a cluster 50 of machines. 51 52 * The [GlusterFS plugin](https://github.com/calavera/docker-volume-glusterfs) is 53 another volume plugin that provides multi-host volumes management for Docker 54 using GlusterFS. 55 56 * The [Keywhiz plugin](https://github.com/calavera/docker-volume-keywhiz) is 57 a plugin that provides credentials and secret management using Keywhiz as 58 a central repository. 59 60 * The [Pachyderm PFS plugin](https://github.com/pachyderm/pachyderm/tree/master/src/cmd/pfs-volume-driver) 61 is a volume plugin written in Go that provides functionality to mount Pachyderm File System (PFS) 62 repositories at specific commits as volumes within Docker containers. 63 64 * The [REX-Ray plugin](https://github.com/emccode/rexraycli) is a volume plugin 65 which is written in Go and provides advanced storage functionality for many 66 platforms including EC2, OpenStack, XtremIO, and ScaleIO. 67 68 * The [Contiv Volume Plugin](https://github.com/contiv/volplugin) is an open 69 source volume plugin that provides multi-tenant, persistent, distributed storage 70 with intent based consumption using ceph underneath. 71 72 * The [Contiv Networking](https://github.com/contiv/netplugin) is an open source 73 libnetwork plugin to provide infrastructure and security policies for a 74 multi-tenant micro services deployment, while providing an integration to 75 physical network for non-container workload. Contiv Networking implements the 76 remote driver and IPAM APIs available in Docker 1.9 onwards. 77 78 * The [Weave Network Plugin](https://github.com/weaveworks/docker-plugin) creates a virtual network that connects your Docker containers - across multiple hosts or clouds and enables automatic discovery of applications. Weave networks are resilient, partition tolerant, secure and work in partially connected networks, and other adverse environments - all configured with delightful simplicity. 79 80 ## Troubleshooting a plugin 81 82 If you are having problems with Docker after loading a plugin, ask the authors 83 of the plugin for help. The Docker team may not be able to assist you. 84 85 ## Writing a plugin 86 87 If you are interested in writing a plugin for Docker, or seeing how they work 88 under the hood, see the [docker plugins reference](plugin_api.md).