New gig, new technology stack, and a ton (metric, not old money) to learn. I’ve used Docker for containerizing services before, but now I’m learning a slew of new root causes for exceptions when I’m building/compiling/deploying applications. It’s enough to make a brain hurt.

When I first started with Cover My Meds I knew that I was going to need extra help to try and catch up to my teammates, who have been developing in Rails and Docker for years. I reached for one of my favorite learning resources, the fine authors at The Pragmatic Bookshelf. Low and behold, I found a book that was 100% fit for my purpose Docker for Rails Developers and I’ve been following along with Rob Isenberg ever since.

The first seven chapters flew right along. I took a break between sessions and ran into an odd stop. My nemesis was:

A server is already running. Check /usr/src/app/tmp/pids/server.pid

Cool, if I remove the image, it should take that pesky server.pid file with it and everything will once again be smooth. Right? I destroyed the container and ran

docker compose up

again and waited to see a URI for the development rails server. That is not what happened.

‘A server is already running…’.

How was it possible to already have a server running? Thanks again to the wonderful people who answer questions on Stack Overflow I found a solution for a problem that has been hindering my learning. It turns out that ther server.pid file on my host system was still hanging around. Removing that file allowed the rails server to run and me to continue learning.