Dev with Docker

This post is part of the series Dev with Docker

Other posts in this series:

  1. Dev with Docker (Current)
  2. Data Persistence with Docker Volumes
  3. Reaching localhost from a Docker container

I’ve been using Docker to run my local development environments for nearly two years now. In that time, it has gone from experimental and arcane, to almost stable and user-friendly.

Docker logoI work on a MacBook Pro, in OS X. After a brief dive into the details of what Docker is and how it works, you learn that you can’t run the Docker engine in OS X. Containers require process isolation and resource management features of the Linux kernel, so you can only run the Docker engine in Linux.

There are a number of workarounds for this, all of which involve using a virtual machine. Initially, I used boot2docker, which loaded a small VM using VirtualBox. Eventually, this was subsumed into Docker Machine and the Docker Toolbox, which used the same VM in VirtualBox but will slightly improved tools. Now I’m using Docker for Mac, which still uses a boot2docker-based virtual machine, but it runs on the hypervisor framework built into OS X, obviating the requirement for a separate hypervisor like VirtualBox.

With the notable exception of filesystem read performance, Docker for Mac has removed many of the more tedious aspects of running a local Docker environment, and had made development much easier.

This is the first in an anticipated series of posts documenting how I have my local development environment configured, focusing on using Docker for Mac for WordPress development.

Continue reading this series:

One Response to Dev with Docker

  1. Clint Decker says:

    Hey Jonathan,

    Just wanted to reach out and say that I really enjoyed talk about Hello Dolly. It got a little above my head when it came to the containers but I was able to take away a much clearer idea of how plugins are composed. Thank you sir!

Leave a Reply

Your email address will not be published. Required fields are marked *