github.com/a4a881d4/docker@v1.9.0-rc2/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. 16 17 ## Types of plugins 18 19 Plugins extend Docker's functionality. They come in specific types. For 20 example, a [volume plugin](plugins_volume.md) might enable Docker 21 volumes to persist across multiple Docker hosts and a 22 [network plugin](plugins_network.md) might provide network plumbing 23 using a favorite networking technology, such as vxlan overlay, ipvlan, EVPN, etc. 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 ## Troubleshooting a plugin 69 70 If you are having problems with Docker after loading a plugin, ask the authors 71 of the plugin for help. The Docker team may not be able to assist you. 72 73 ## Writing a plugin 74 75 If you are interested in writing a plugin for Docker, or seeing how they work 76 under the hood, see the [docker plugins reference](plugin_api.md).