2015-07-15 11:25:56 -07:00
|
|
|
<!--[metadata]>
|
|
|
|
+++
|
|
|
|
title = "Extending Docker with plugins"
|
|
|
|
description = "How to add additional functionality to Docker with plugins extensions"
|
|
|
|
keywords = ["Examples, Usage, plugins, docker, documentation, user guide"]
|
|
|
|
[menu.main]
|
|
|
|
parent = "mn_extend"
|
|
|
|
weight=-1
|
|
|
|
+++
|
|
|
|
<![end-metadata]-->
|
|
|
|
|
|
|
|
# Understand Docker plugins
|
2015-05-22 16:47:28 -07:00
|
|
|
|
|
|
|
You can extend the capabilities of the Docker Engine by loading third-party
|
2015-07-15 11:25:56 -07:00
|
|
|
plugins.
|
2015-05-22 16:47:28 -07:00
|
|
|
|
|
|
|
## Types of plugins
|
|
|
|
|
|
|
|
Plugins extend Docker's functionality. They come in specific types. For
|
2015-07-15 11:25:56 -07:00
|
|
|
example, a [volume plugin](plugins_volume.md) might enable Docker
|
2015-05-22 16:47:28 -07:00
|
|
|
volumes to persist across multiple Docker hosts.
|
|
|
|
|
2015-06-17 16:06:39 +01:00
|
|
|
Currently Docker supports volume and network driver plugins. In the future it
|
|
|
|
will support additional plugin types.
|
2015-05-22 16:47:28 -07:00
|
|
|
|
|
|
|
## Installing a plugin
|
|
|
|
|
|
|
|
Follow the instructions in the plugin's documentation.
|
|
|
|
|
|
|
|
## Finding a plugin
|
|
|
|
|
|
|
|
The following plugins exist:
|
|
|
|
|
|
|
|
* The [Flocker plugin](https://clusterhq.com/docker-plugin/) is a volume plugin
|
2015-06-17 16:06:39 +01:00
|
|
|
which provides multi-host portable volumes for Docker, enabling you to run
|
2015-05-22 16:47:28 -07:00
|
|
|
databases and other stateful containers and move them around across a cluster
|
|
|
|
of machines.
|
|
|
|
|
2015-07-15 11:25:56 -07:00
|
|
|
* The [GlusterFS plugin](https://github.com/calavera/docker-volume-glusterfs) is
|
|
|
|
another volume plugin that provides multi-host volumes management for Docker
|
|
|
|
using GlusterFS.
|
2015-06-17 16:06:39 +01:00
|
|
|
|
2015-07-15 11:25:56 -07:00
|
|
|
* The [Keywhiz plugin](https://github.com/calavera/docker-volume-keywhiz) is
|
|
|
|
a plugin that provides credentials and secret management using Keywhiz as
|
|
|
|
a central repository.
|
2015-06-17 16:06:39 +01:00
|
|
|
|
2015-07-21 21:00:27 -05:00
|
|
|
* The [REX-Ray plugin](https://github.com/emccode/rexraycli) is a volume plugin
|
|
|
|
which is written in Go and provides advanced storage functionality for many
|
|
|
|
platforms including EC2, OpenStack, XtremIO, and ScaleIO.
|
|
|
|
|
2015-05-22 16:47:28 -07:00
|
|
|
## Troubleshooting a plugin
|
|
|
|
|
|
|
|
If you are having problems with Docker after loading a plugin, ask the authors
|
|
|
|
of the plugin for help. The Docker team may not be able to assist you.
|
|
|
|
|
|
|
|
## Writing a plugin
|
|
|
|
|
|
|
|
If you are interested in writing a plugin for Docker, or seeing how they work
|
2015-07-15 11:25:56 -07:00
|
|
|
under the hood, see the [docker plugins reference](plugin_api.md).
|