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