Removing old networking.md
Updating dockernetworks.md with images
Adding information on network plugins
Adding blurb about links to docker networking
Updating the working documentation
Adding Overlay Getting Started
Downplaying links by removing refs/examples, adding refs/examples for network.
Updating getting started to reflect networks not links
Pulling out old network material
Updating per discussion with Madhu to add Default docs section
Updating with bridge default
Fix bad merge
Updating with new cluster-advertise behavior
Update working and NetworkSettings examples
Correcting example for default bridge discovery behavior
Entering comments
Fixing broken Markdown Syntax
Updating with comments
Updating all the links
Signed-off-by: Mary Anthony <mary@docker.com>
Upstream-commit: 02a859b9f3
Component: cli
79 lines
3.2 KiB
Markdown
79 lines
3.2 KiB
Markdown
<!--[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
|
|
|
|
You can extend the capabilities of the Docker Engine by loading third-party
|
|
plugins.
|
|
|
|
## Types of plugins
|
|
|
|
Plugins extend Docker's functionality. They come in specific types. For
|
|
example, a [volume plugin](plugins_volume.md) might enable Docker
|
|
volumes to persist across multiple Docker hosts and a
|
|
[network plugin](plugins_network.md) might provide network plumbing.
|
|
|
|
Currently Docker supports volume and network driver plugins. In the future it
|
|
will support additional plugin types.
|
|
|
|
## Installing a plugin
|
|
|
|
Follow the instructions in the plugin's documentation.
|
|
|
|
## Finding a plugin
|
|
|
|
The following plugins exist:
|
|
|
|
* The [Blockbridge plugin](https://github.com/blockbridge/blockbridge-docker-volume)
|
|
is a volume plugin that provides access to an extensible set of
|
|
container-based persistent storage options. It supports single and multi-host Docker
|
|
environments with features that include tenant isolation, automated
|
|
provisioning, encryption, secure deletion, snapshots and QoS.
|
|
|
|
* The [Convoy plugin](https://github.com/rancher/convoy) is a volume plugin for a
|
|
variety of storage back-ends including device mapper and NFS. It's a simple standalone
|
|
executable written in Go and provides the framework to support vendor-specific extensions
|
|
such as snapshots, backups and restore.
|
|
|
|
* The [Flocker plugin](https://clusterhq.com/docker-plugin/) is a volume plugin
|
|
which provides multi-host portable volumes for Docker, enabling you to run
|
|
databases and other stateful containers and move them around across a cluster
|
|
of machines.
|
|
|
|
* The [GlusterFS plugin](https://github.com/calavera/docker-volume-glusterfs) is
|
|
another volume plugin that provides multi-host volumes management for Docker
|
|
using GlusterFS.
|
|
|
|
* 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.
|
|
|
|
* The [Netshare plugin](https://github.com/gondor/docker-volume-netshare) is a volume plugin
|
|
that provides volume management for NFS 3/4, AWS EFS and CIFS file systems.
|
|
|
|
* The [Pachyderm PFS plugin](https://github.com/pachyderm/pachyderm/tree/master/src/cmd/pfs-volume-driver)
|
|
is a volume plugin written in Go that provides functionality to mount Pachyderm File System (PFS)
|
|
repositories at specific commits as volumes within Docker containers.
|
|
|
|
* 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.
|
|
|
|
## 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
|
|
under the hood, see the [docker plugins reference](plugin_api.md).
|