Why I Love Docker

I’m going to keep this one short… mostly because it’s almost 2am and I’d tweet it, but this is longer than 128 characters.

1. Amazing for testing new infrastructure with old code.

If you want to see what php7 looks like? Do it. Want to try out that more updated memcached? Do it. Afterwards, there’s no complex downgrade on your local machine, or anything crazy like that.

2. Swapping out nodes is a cakewalk.

I just changed over from Azure to Digital Ocean, in less than half an hour with 0 downtime. Obviously, this doesn’t work if you’re vendor locked (ECS, Azure Container Service, etc).

3. Development is fun again.

There for awhile (well, since forever and until a couple years ago), getting started on a new project took a lot of work. You’d have to install so many dependencies and get them configured. With Docker, it’s a matter of pulling a (most likely, but not necessarily) private image and running it. At BoomTown, we went from *TWO DAYS* to get started to *15 minutes* … most of that is downloading images. If we hired one developer a month, that equates to 24 days of development saved, per year!

4. More prodlike development.

The ability to have networks, multiple “machines”, on one single machine and in one single vm means we’re able to create a near replica to production. This makes hard to reproduce bugs more easily reproduced in the development environment…

I think that’s all… for now, anyway.