Docker In A Month Of Lunches
A focused, hands-on approach to learning docker through short lessons
When it comes to finding technical books to read, I was always wary of Manning’s “in a month of lunches” series. I thought they would be too brief – teach how to do something without necessarily teaching the advanced concepts that can make or break tools once they are used in production. This book changed my mind, and I’ll certainly consider the “in a month of lunches series” going forward. As many software engineers can relate, finding time to read a textbook can be very difficult when you have a lot of tickets on the backlog to work through. As you can probably guess, the “in a month” approach breaks up learning a topic into short chunks that are easy enough to fit into the day without consuming your day. I got into the habit of finishing a chapter first thing in the morning with my cup of coffee before signing on for work. This proved to be a game changer when it comes to leveling up my skills. I’ve often heard that you should start your day off with the most important task – and using that focus to learn something new turned out to be extremely beneficial for me. But, enough of that…
Docker in a month of lunches by Elton Stoneman was a great first read for someone who hasn’t yet used Docker or container technologies professionally. If you have looming initiatives at work, or you are just interested in the topic like I was, this book did a great job of slowly building new lessons on top of previous learnings. It’s pretty easy to use the book as reference material because of how concise and targeted the lessons are.
I can honestly say, that after reading this book I have a pretty good understanding of docker. After finishing this book I was able to reach for docker and succesfully do the following:
- Spin up a new project that utilized a multi-stage docker file optimized for build times. I was able to create a web app that cached the front end asset build artifacts (compiled scss, minified js, etc.) so that docker just had to re-build the golang app instead of the whole thing. The best part is, I didn’t even need to clutter my laptop with new dependencies for a quick side project.
- Deploy pi-hole to a raspberry pi to take control over the DNS requests in my homelab. Learned enough to deploy the pi-hole behind traefik, and serve the pi-hole admin interface over https.
- Use docker containers to manage dependencies and build this blog. Happy to say that docker is the only install dependency for developing this website. My side projects are extremely short lived, so it’s nice to use docker to limit the amount of software I have running/installed on my computer.
Better yet, now that the projects I work on professionaly use docker, I have a headstart on getting up to speed and knowing how to troubleshoot an unfamiliar codebase.
The container technology landscape is moving quick. That being said this book does come with a couple chapters that are probably worth skipping (they are still interesting none-the-less). To no fault of the author, the learning docker swarm section is probably worth skipping. When it comes to production workloads, you will likely reach for kubernetes instead.