Cloudy with a chance of containers

March 29, 2023

I have had reason to set up a whole host of services running in Docker containers on my work machine. The process was a bit of a troubleshooting adventure, as getting new things up and running locally always is, but even though I would like to be snarky and cynical I have to admit that Docker itself did its part very well. Images came up and went down as ordered, things behaved as they should, and I learned a lot of useful base skills about monitoring and interacting with running images.

The resource usage is no joke though. Memory usage is through the roof compared to my normal ways of working, and when I neglected to stop everything before closing my laptop for the evening it was actually almost out of battery by the time I woke it up in the morning.

Great opportunity to be upset and cynical about container resource usage, right?

But alas, even that is probably unfair. As far as I know, none of the stuff we have containerized has really been optimized for performance, and all of it is definitely running in development mode. Resource sharing would perhaps save a few megabytes of RAM here and there if I ran everything "truly locally", but on the whole I think the load on my machine would be very similar.

In all, this has been a positive first real use of Docker for me. Things learned, ideas produced, batteries drained. What is also really cool is how work has grown in the last few years to the level where a project like this can sort of happen without me even really knowing about it until it is ready for me to set up and use. And someone else had the time to help me set it up and troubleshoot, and handle the improvements we came up with along the way.

Is this that "developer experience" thing people go on about?