Auto-commit from giteapush.sh at 2025-05-16 17:07:46
This commit is contained in:
parent
256d1d9af6
commit
48d40dfa1b
118
documents/blog/docker.md
Normal file
118
documents/blog/docker.md
Normal file
@ -0,0 +1,118 @@
|
||||
Fuck Docker
|
||||
It works, but it gaslights you about everything.
|
||||
|
||||
Docker is amazing when it works. And when it doesn’t?
|
||||
It’s a smug little daemon that eats your RAM, forgets your volumes, lies about its health, and restarts things for reasons it refuses to explain.
|
||||
|
||||
Scene 1: Everything Is Fine™
|
||||
|
||||
You run:
|
||||
docker ps
|
||||
|
||||
It tells you:
|
||||
azuracast Up 30 seconds
|
||||
db Up 31 seconds
|
||||
nginx Up 30 seconds
|
||||
|
||||
Everything is up.
|
||||
Except the site is down.
|
||||
The UI is dead.
|
||||
curl gives you nothing.
|
||||
The logs? Empty.
|
||||
|
||||
Docker: “Everything’s running fine 👍”
|
||||
|
||||
Scene 2: Logs Are a Lie
|
||||
|
||||
docker logs azuracast
|
||||
|
||||
Returns:
|
||||
|
||||
Just enough output to give you hope
|
||||
|
||||
Then nothing
|
||||
|
||||
Then silence
|
||||
|
||||
You tail it.
|
||||
You restart it.
|
||||
You exec into it.
|
||||
It’s just a tomb with a PID.
|
||||
|
||||
Scene 3: It Forgets Everything
|
||||
|
||||
You reboot the host.
|
||||
|
||||
Suddenly:
|
||||
|
||||
Your containers forget their volumes
|
||||
|
||||
Your docker-compose.override.yml is ignored
|
||||
|
||||
Your networks vanish
|
||||
|
||||
And the bridge interface is now possessed
|
||||
|
||||
Scene 4: Volumes Are Haunted
|
||||
|
||||
docker volume rm azuracast_station_data
|
||||
|
||||
Error: volume is in use
|
||||
|
||||
By what?
|
||||
You stopped all containers. You nuked the services.
|
||||
It’s still in use — by ghosts.
|
||||
|
||||
Eventually you just:
|
||||
|
||||
rm -rf /var/lib/docker
|
||||
|
||||
Because therapy is cheaper than debugging this.
|
||||
|
||||
Scene 5: docker-compose Is a Trick
|
||||
|
||||
docker-compose down
|
||||
docker-compose up -d
|
||||
|
||||
Now:
|
||||
|
||||
Some things are gone
|
||||
|
||||
Some things are doubled
|
||||
|
||||
Your stations/ folder is missing
|
||||
|
||||
And your database container is holding a grudge
|
||||
|
||||
You try to roll back.
|
||||
There is no roll back. Only sadness.
|
||||
|
||||
Scene 6: It’s Not Even Docker Anymore
|
||||
|
||||
Modern Docker is:
|
||||
|
||||
Docker
|
||||
|
||||
Which is actually Moby
|
||||
|
||||
Which uses containerd
|
||||
|
||||
Which is managed by nerdctl
|
||||
|
||||
Which builds with buildkit
|
||||
|
||||
Which logs via journald
|
||||
|
||||
Which stores data in an OCI-conforming mess of layers
|
||||
|
||||
None of it can be managed with just docker.
|
||||
|
||||
Final Thought
|
||||
|
||||
Docker is powerful.
|
||||
Docker is everywhere.
|
||||
Docker changed the world.
|
||||
|
||||
But once you run real infrastructure on it?
|
||||
|
||||
Fuck Docker.
|
Loading…
x
Reference in New Issue
Block a user