For the last two years, I’ve been treating compose files as individual runners for individual programs.
Then I brainstormed the concept of having one singular docker-compose file that writes out every single running container on my system… (that can use compose), each install starts at the same root directory and volumes branch out from there.
Then I find out, this is how most people use compose. One compose file, with volumes and directories branching out from wherever ./ is called.
THEN I FIND OUT… that most people that discover this move their installations to podman because compose works on different versions per app and calling those versions breaks the concept of having one singular docker-compose.yml file and podman doesn’t need a version for compose files.
Is there some meta for the best way to handle these apps collectively?
I’ve always heard the opposite advice - don’t put all your containers in one compose file. If you have to update an image for one app, wouldn’t you have to restart the entirety of your apps?
If by app you mean container, no. You pull the latest image and rerun docker compose. It will make only the necessary changes, in this case restarting the container to update.
You can reference a single or multiple containers in a compose stack.
docker compose -f /path/to/compose.yml restart NameOfServiceInCompose
whoa, I never knew that. Great tip!