Book Image

Extending Docker

By : Russ McKendrick
Book Image

Extending Docker

By: Russ McKendrick

Overview of this book

With Docker, it is possible to get a lot of apps running on the same old servers, making it very easy to package and ship programs. The ability to extend Docker using plugins and load third-party plugins is incredible, and organizations can massively benefit from it. In this book, you will read about what first and third party tools are available to extend the functionality of your existing Docker installation and how to approach your next Docker infrastructure deployment. We will show you how to work with Docker plugins, install it, and cover its lifecycle. We also cover network and volume plugins, and you will find out how to build your own plugin. You’ll discover how to integrate it with Puppet, Ansible, Jenkins, Flocker, Rancher, Packer, and more with third-party plugins. Then, you’ll see how to use Schedulers such as Kubernetes and Amazon ECS. Finally, we’ll delve into security, troubleshooting, and best practices when extending Docker. By the end of this book, you will learn how to extend Docker and customize it based on your business requirements with the help of various tools and plugins.
Table of Contents (15 chapters)

Third-party plugins

The first page about plugins on the Docker documentation site lists a lot of third-party plugins. As already mentioned, let's get an idea of what's going on in the background of the plugins that we have already installed and used in Chapter 3, Volume Plugins, and Chapter 4, Network Plugins.


Convoy was the first third-party plugin we looked at in Chapter 3, Volume Plugins. To install it, we launched a Docker host in DigitalOcean as we needed a more complete underlying operating system than is provided by the Boot2Docker operating system, which is favored by Docker Machine.

To install Convoy, we downloaded a release file from GitHub. This tar archive contained the static binaries required to run Convoy on a Linux system, once the static binaries were in place, we created a Docker plugin folder and then added a symbolic link to the socket file that Convoy creates when it is first executed.

We then went on to configure a loopback device that we created on a volume. We...