Understanding Docker for Development

Docker is often lauded as a tool for deploying and running applications – but it’s also extremely useful for your local development process. Whether you’ve never used Docker, or you’ve been using it for a while but aren’t quite sure how it all actually works, this talk will give you an in-depth understanding of Docker and how to use it locally. We’ll cover creating your own Dockerfiles, building, tagging and pushing images, running containers, networking multiple containers with Docker Compose and debugging your setup.


This page contains code, commands, graphics and links that I discuss during the talk. It is not a substitute for attending the talk, but it’s a great reference for anything we discussed during the talk.

Code & Commands

The code and the commands we run can be found in this github repo

Presentation History

If you attended one of the linked talks, please rate & give feedback on joind.in by following the link!

Containers Vs. Virtual Machines


Installing Docker Locally


Docker for Mac Performance Issues

In the talk, I reference this article about Docker for Mac’s performance issues when you mount your codebase as a volume, and how this affects local development. The article suggests using docker-sync to get around this problem, I’ve also had success using docker-machine with Docker for Mac to run a virtual machine.

Images have Layers