The Promise of Docker Containers

Hey folks! My last post, titled How To Incorporate Containers Into Your Daily Duties, was all about how you can use containers to improve your work as a developer.

The problem with that is that it necessitates y’all knowing how to set up, configure, and run Docker containers.

I shouldn’t have assumed that everyone came to that post with the prerequisite knowledge, so here’s an article I wrote a little over a year and a half ago. It covers two things:

  1. What benefits containers provide you, as a developer.
  2. A demo/walkthrough of building an image based on a CentOS LAMP stack from scratch and spinning up a container to serve a web application.

I’ve also updated the additional resources at the end of this one so that they’re the current links/documents/installers as of July 31, 2019.

Hope you enjoy!

Continue reading The Promise of Docker Containers

Cool, but what can you ACTUALLY use containers for?

We’re going to take a bit of a sidestep this week.

I was planning on converting a Docker-Compose project into a Kubernetes one, but I had a small project pop up this week. That project involved me setting up a container to mimic a production environment so I could test my script without disrupting any of our clients.

Figured a practical example of how a container saved the day would be a better topic than me learning something just to learn something.


Every once in awhile I’m given a task that, once explained to me, seems like it’s going to take a lot of time. Like hours of my attention every time this bit of work comes up.

I’ll usually ask how often this task comes up in a given quarter. If the combined time for a quarter is more than a day or two, I usually throw the XKCD comic on automation out the window just go for it.

Continue reading Cool, but what can you ACTUALLY use containers for?

Day 5: The One Where It Turns Out I Misunderstood Kubernetes

I just finished Nigel Poulton’s The Kubernetes Book. I highly recommend it, even though it pointed out some pretty big misconceptions I had about how some important K8s components work.

It’s a great surface level intro to the world of Kubernetes and how it can help build projects that can scale and self heal. Excellent for beginners and intermediate users alike.

I also took some time off from posting. Turns out that DevOps stuff takes a little longer to learn and internalize than I thought. Going to try and scale down to weekly posts and keep this going longer than a month.

Burnout is a really real thing.

Continue reading Day 5: The One Where It Turns Out I Misunderstood Kubernetes

Day 4: Scripting Docker Commands With Spinup.sh

In Day 3, I included a blurb from my DevOps-y friends about the natural progression of abstractions on top of containers:

You usually start with docker run CLI commands and graduate to tools with more layers of abstraction as you need them. Docker-compose comes next, followed by automating several commands with Bash scripts, which is eventually followed by Kubernetes.

I also shared with you a better way to handle switches in Bash scripts. Today I’ll show you how I moved from running my own Docker commands to running off of one shell script with a handful of flags.

Continue reading Day 4: Scripting Docker Commands With Spinup.sh

Day 2: What’s the plan?

In the spirit of learning in public, I wanted to share why I picked Kubernetes as the topic of my deep dive, what my defined goals are for the end of the month, and what my learning plan looks like in order to get me over the finish line.
As short as a month can feel, this is a marathon; not a sprint. Let’s take these in order:
1. Why did I pick K8s?
I have a bit of a weird background: computer nerd in a high school with no computer courses -> Champlain College CNIS student -> DBA at the US Courts -> web developer at the US Courts -> web and infrastructure developer for the AO of the US Courts -> DevOps Engineer at Clarity Software Solutions.

Continue reading Day 2: What’s the plan?