Go to content

Running Aground: Debugging Docker in Production

Presented by: Bryan Cantrill, CTO, Joyent The inevitability of Docker as the mainstream means of delivering apps to the cloud raises one final question of both developers and operators alike: how do we debug all this? Those challenges have multiplied with the rise of microservices: while distributed systems can be highly resilient to certain kinds of failure, they're exposed to new failure modes. In this talk, we will describe the debugging techniques we have employed across a multitude of customers, and like any good talk on debugging, this one will be laden with real stories from the trenches and how those painful experiences resulted in better tools and better methodologies. Docker is an open-source engine that automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere. Docker containers can encapsulate any payload, and will run consistently on and between virtually any server. The same container that a developer builds and tests on a laptop will run at scale, in production*, on VMs, bare-metal servers, OpenStack clusters, public instances, or combinations of the above.

June 22, 2015