Chapter 1. Introduction to Docker Monitoring
Docker has been a recent but very important addition to a SysAdmins toolbox.
Docker describes itself as an open platform for building, shipping, and running distributed applications. This means that developers can bundle their code and pass it to their operations team. From here, they can deploy safe in the knowledge that it will be done so in a way that introduces consistency with the environment in which the code is running.
When this process is followed, it should make the age-old developers versus operations argument of "it worked on my local development server"—a thing of the past. Since before its "production ready" 1.0 release back in June 2014, there had been over 10,000 Dockerized applications available. By the end of 2014, that number had risen to over 71,000. You can see how Docker grew in 2014 by looking at the infographic that was published by Docker in early 2015, which can be found at https://blog.docker.com/2015/01/docker-project-2014-a-whirlwind-year-in-review/.
While the debate is still raging about how production ready the technology is, Docker has gained an impressive list of technology partners, including RedHat, Canonical, HP, and even Microsoft.
Companies such as Google, Spotify, Soundcloud, and CenturyLink, have all open sourced tools that support Docker in some way, shape, or form and there has also been numerous independent developers who have released apps that provide additional functionality to the core Docker product set. Also, all the companies have sprung up around the Docker ecosystem.
This book assumes that you have had some level of experience building, running, and managing Docker containers, and that you would now like to start to metrics from your running applications to further tune them, or that you would like to know when a problem occurs with a container so that you can debug any ongoing issues.
If you have never used Docker before, you may want to try one of the excellent books that serve and introduce you to all the things that Docker provides, books such as Learning Docker, Packt Publishing, or Docker's own introduction to containers, which can be found at their documentation pages, as follows:
- Learning Docker: https://www.packtpub.com/virtualization-and-cloud/learning-docker
- Official Docker docs: https://docs.docker.com/
Now, we have a brought ourselves up to speed with what Docker is; the rest of this chapter will cover the following topics:
- How different is it to monitor containers versus more traditional servers such as virtual machines, bare metal machine, and cloud instances (Pets, Cattle, Chickens, and Snowflakes).
- What are the minimum versions of Docker you should be running?
- How to follow instructions on bringing up an environment locally using Vagrant in order to follow the practical exercises in this book