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).