The rise of new technology creates the need to manage that technology, inspect it, and make the most of it. Case in point: Docker, whose overnight success has spurred initiatives for monitoring and collecting statistics from running Docker containers.
By itself, the Docker client sports a few native functions for seeing what containers are running, getting basic statistics about behavior and performance, and generating a running view of container resource consumption akin to the "top" command in Linux. Other container monitoring solutions -- such as the Docker monitoring plug-in for the Scout server monitoring framework -- provide similarly basic detail.
For closer monitoring, though, third parties have started to step up and provide tools to fit the bill. Not all of them were specifically created for container monitoring, though; some are outgrowths of monitoring solutions designed for other enterprise infrastructure. The Host sFlow project, for instance, is a general-purpose monitoring framework for multiple operating systems and hypervisors; as of June this year, when Docker 1.0 was released, Host sFlow released an agent for Docker. Datadog, a monitoring service supporting a wide range of integrations, added Docker monitoring around the same time.
But what about a more native option -- that is, a monitoring solution built specifically to deal with the issues created by containers? To that end, Google created cAdvisor, a project originally designed for monitoring Google's own container system, but works well with Docker containers. It generates detailed stats about a container's behavior, such as "resource isolation parameters, historical resource usage, histograms of complete historical resource usage, and network statistics" (as stated on the project GitHub page).
Google's previous Docker-related open source projects have inspired others to expand on said work -- for example, the way Microsoft and Red Hat have picked up on the Kubernetes container orchestration project. Similarly, the open source cAdvisor has been put to use as the base for another project, Groundwork's BoxSpy. In contrast to other solutions, BoxSpy uses a container to monitor other containers, and it can monitor the applications running within containers.
Each successive version of Docker stands to gain from the projects around it. While no definitive plans have been made, it's possible that elements of Kubernetes or the networking-related projects around Docker will be rolled into Docker itself. The same applies to monitoring; the more people build on top of and with Docker, the greater the need for keeping a close eye on both containers and their contents. So far, the track record favors cAdvisor as a starting point (especially since projects are already being built with it), but with a field this expansive and dynamic, anything's possible.