Docker
Docker...docker everywhere
3/4/20252 min read
What is Docker?
Docker is a tool used to bundle up an application and everything it needs to run — including libraries, dependencies, and configuration — into something called a container. The benefit is that the container runs the same way no matter where you put it, whether it’s on your laptop, a test server, or in the cloud. Microservices, on the other hand, is more about how you design your application. Instead of building one big program, you split your app into smaller, focused pieces that each handle one job, like user management, payments, or inventory. Docker and microservices work really well together because containers make it easy to develop, deploy, and scale those smaller services without them getting in each other’s way.
Why use Docker?
Docker is one of my favorite pieces of tech in my homelab, and anywhere else I get the chance to deploy it. Management is dead simple via terminal commands, as I can quickly get an image running in seconds. Done with that image? No problem, a simple command and you have it down and removed. No complicated weird file paths and remnants to go find. In a production setting, that could mean running a WordPress instance in one container while a separate container handles a Linux-based service or database. The real advantage is that you can restart or update just the WordPress container without touching the rest of the system. That level of isolation keeps downtime to a minimum and makes your environment more resilient, since individual components can be managed independently without disrupting the whole stack.
How I use it
I use docker to run:
Dockge to manage other docker containers (GUI)
a personal contact DB software named "Monica"
a website change detector (perfect for price alerts!)
an uptime monitor for all systems
Homebridge
a WOL utility
isolated browsers
a reverse proxy
dns

