The Docker Compose File Nobody Remembered
The Docker Compose File Nobody Remembered
09:16 AM.
The ticket looks harmless.
“Batch queue is backed up. Nothing is draining.”
You check the application.
The web service is alive.
Redis is alive.
But the worker?
Gone.
Not crashed. Not unhealthy.
Just...missing.
You open the production Compose file. The worker is clearly defined.
So how can Compose start a stack without it?
Then you notice a file sitting beside it:
docker-compose.override.yml
Nobody remembers creating it.
Nobody remembers deleting it either.
And that's when the incident gets interesting.
Compose has been quietly loading the forgotten override every time the stack starts, changing the effective configuration underneath the team without anyone touching the base file.
You bring the worker back.
The queue still doesn't drain.
The status endpoint now reveals something worse: the application thinks it's running in development.
You fix that.
Now Redis suddenly isn't reachable.
You fix the connection.
A configuration file is missing.
You restore it.
Then a configuration key you've added appears to do absolutely nothing.
Every fix uncovers another layer.
By now, you've stopped asking “What's broken?”
You're asking:
“What configuration is actually running?”
That's the trap.
The file you read isn't necessarily the system you deployed. In Docker Compose, multiple configuration sources can combine into an effective configuration that looks nothing like the file everyone assumes is authoritative.
And sometimes, the most dangerous configuration isn't the one someone changed.
It's the one everyone forgot existed.
At InfraThrone, incidents don't come with a clean configuration or a convenient root cause. You inherit the mess, follow the evidence, and discover why the system behaves the way it does.
Think you could find the configuration nobody remembered?
Discussion
to read and post comments.