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)


In this chapter, we have looked at three different volume drivers that all work with Docker's plugin architecture.

While the three drivers offer three very different approaches to providing persistent storage for your containers, you may have noticed that Docker Compose files and how we interact with the volumes using the Docker client was pretty much the same experience across all three tools, probably to the point where I am sure it was starting to get a little repetitive.

This repetitiveness showcases, in my opinion, one of the best features of using Docker plugins, the consistent experience from the client's point of view. At no point, after we configured the tools, did we have to really think about or take into consideration how we were using the storage, we just got on with it.

This allows us to reuse our resources, such as Docker Compose files and containers, across multiple environments such as local VMs, cloud-based Docker hosts, or even Docker clusters.

However, at the moment...