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)

Why use these tools?

So far, we have been looking at tools that either use the main Docker client or use the tools that are provided by Docker and other third parties to support the main Docker client.

For quite a while, the functionality that some of these tools have now did not exist within a Docker support product. For example, if you wanted to launch a Docker host, you couldn't just use Docker Machine, instead you had to use something such as Vagrant to launch a virtual machine (locally or in the cloud) and then install Docker using a bash script, Puppet, or Ansible.

Once you had your Docker host up and running, you could use these tools to place your containers on hosts as there was no Docker Swarm or Docker Compose (remember Docker Compose started off as a third-party tool called Fig).

So while Docker has slowly been releasing their own tooling, some of these third-party options are actually more mature and have quite an active community behind them.

Let's start by looking at Puppet.