github.com/damirazo/docker@v1.9.0/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  
    24  Currently Docker supports volume and network driver plugins. In the future it
    25  will support additional plugin types.
    26  
    27  ## Installing a plugin
    28  
    29  Follow the instructions in the plugin's documentation.
    30  
    31  ## Finding a plugin
    32  
    33  The following plugins exist:
    34  
    35  * The [Blockbridge plugin](https://github.com/blockbridge/blockbridge-docker-volume)
    36    is a volume plugin that provides access to an extensible set of
    37    container-based persistent storage options. It supports single and multi-host Docker
    38    environments with features that include tenant isolation, automated
    39    provisioning, encryption, secure deletion, snapshots and QoS.
    40  
    41  * The [Convoy plugin](https://github.com/rancher/convoy) is a volume plugin for a
    42    variety of storage back-ends including device mapper and NFS. It's a simple standalone
    43    executable written in Go and provides the framework to support vendor-specific extensions
    44    such as snapshots, backups and restore.
    45  
    46  * The [Flocker plugin](https://clusterhq.com/docker-plugin/) is a volume plugin
    47    which provides multi-host portable volumes for Docker, enabling you to run
    48    databases and other stateful containers and move them around across a cluster
    49    of machines.
    50  
    51  * The [GlusterFS plugin](https://github.com/calavera/docker-volume-glusterfs) is
    52    another volume plugin that provides multi-host volumes management for Docker
    53    using GlusterFS.
    54  
    55  * The [Keywhiz plugin](https://github.com/calavera/docker-volume-keywhiz) is
    56    a plugin that provides credentials and secret management using Keywhiz as
    57    a central repository.
    58  
    59  * The [Pachyderm PFS plugin](https://github.com/pachyderm/pachyderm/tree/master/src/cmd/pfs-volume-driver)
    60    is a volume plugin written in Go that provides functionality to mount Pachyderm File System (PFS)
    61    repositories at specific commits as volumes within Docker containers.
    62  
    63  * The [REX-Ray plugin](https://github.com/emccode/rexraycli) is a volume plugin
    64    which is written in Go and provides advanced storage functionality for many
    65    platforms including EC2, OpenStack, XtremIO, and ScaleIO.
    66  
    67  ## Troubleshooting a plugin
    68  
    69  If you are having problems with Docker after loading a plugin, ask the authors
    70  of the plugin for help. The Docker team may not be able to assist you.
    71  
    72  ## Writing a plugin
    73  
    74  If you are interested in writing a plugin for Docker, or seeing how they work
    75  under the hood, see the [docker plugins reference](plugin_api.md).