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)

The challenges

So, why have we been looking at extending the core Docker Engine? Here are a few scenarios that the tools we have covered in the previous chapters could be used to add value or resolve a potential problem.


Way back, at the start of Chapter 1, Introduction to Extending Docker, we saw the Worked fine in dev, Ops problem now meme and how it is worryingly still relevant today. Containers go a long way to resolve this issue; in fact, Docker is seen as a great unifier by a lot of people.

However, if developers do not have a way of easily introducing these tools into their day-to-day lives, then you are not resolving the issue raised by the meme.

The tools that could help developers start to use Docker locally as the first step of the development process are as follows:

  • Docker Toolbox

  • Docker Machine

  • Vagrant

Along with the recently announced, but currently in private beta, native versions of Docker for OS X and Windows, more details on this can be found in the announcement blog...