Repository navigation
Needs a new backup system #7169
Description
Activity
Description
The backup system in docker is the worst most garbage backup system I've ever seen in my 25 years of living and in any software. I spent over 5 ****** hours trying to recover MY data, have about 11+ years of experience in IT and many years with self-hosted apps in docker can't because the backup system in Docker is unusable.
Basically you store anything in a docker volume, just assume it can never be reached again except for that exact computer. Someone spends hours of their life self-hosting something they need for day to day work and their computer dies? Screwed out of all that date, If this were an enterprise that needs uptime it would be billions of dollars lost over bad programming.
I tried copying /var/lib/docker but that doesn't work for some magic reason. I did exact copy with rsync, exact permissions and even factoring in ACLs and any minute little thing, nope. Don't work. How is this even possible? How can a program just not at all recognize the exact data on another computer unless it's deliberately coded to frustrate the end user.
Here is how it should work:
docker backup --allThen it just makes a zip file, then to restore:
docker restore --allWhoever made this system needs to fire them immediately they are an active hindrance to your project. Multi billion dollar enterprises are losing time and money on this joke of a system and they should be fired immediately.
Reproduce
.
Expected behavior
No response
docker version
.
docker info
.
Additional Info
No response
You're not even asking for anything revolutionary. docker backup and docker restore feel like features that should have existed years ago. Volumes are treated as "just mount them somewhere," but the recovery story is nowhere near as obvious as creating them. The number of people who discover this only after a disk failure is way too high.
but your complaint is emotionally understandable, but it's technically a bit unfair...Docker intentionally doesn't define how application data should be backed up because different databases and applications require application consistent backups, not just copying volume files. A generic docker backup --all could easily produce corrupted databases if it simply zipped mounted volumes while containers were running. That's why the ecosystem leans on volume snapshots, database dumps, and tools like Restic, Velero, etc. Still, Docker could absolutely make the experience much friendlier , let's hope for the best
Should containers be stopped first?
Or frozen?
Or left running?
How do you back up PostgreSQL without pg_dump?
What about Redis in-memory data?
What if a third-party volume plugin stores data on NFS?
What if the backup is taken while files are being written?these questions can't be answered without making huge decisions... I'm not upto your experience sir , but I'm sharing my opinion here
Should containers be stopped first? Or frozen? Or left running? How do you back up PostgreSQL without pg_dump? What about Redis in-memory data? What if a third-party volume plugin stores data on NFS? What if the backup is taken while files are being written?
these questions can't be answered without making huge decisions... I'm not upto your experience sir , but I'm sharing my opinion here
I think it should work like any other backup. To have the end user be able to stop the running containers then be able to run
docker backup --allStuff that is running in-memory is up to the end user. If they knowingly run something in memory and don't back it up first somehow that's on them / the application being hosted.
Description
The backup system in docker is the worst most garbage backup system I've ever seen in my 25 years of living and in any software. I spent over 5 ****** hours trying to recover MY data, have about 11+ years of experience in IT and many years with self-hosted apps in docker can't because the backup system in Docker is unusable.
Basically you store anything in a docker volume, just assume it can never be reached again except for that exact computer. Someone spends hours of their life self-hosting something they need for day to day work and their computer dies? Screwed out of all that date, If this were an enterprise that needs uptime it would be billions of dollars lost over bad programming.
I tried copying /var/lib/docker but that doesn't work for some magic reason. I did exact copy with rsync, exact permissions and even factoring in ACLs and any minute little thing, nope. Don't work. How is this even possible? How can a program just not at all recognize the exact data on another computer unless it's deliberately coded to frustrate the end user.
Here is how it should work:
Then it just makes a zip file, then to restore:
Whoever made this system needs to fire them immediately they are an active hindrance to your project. Multi billion dollar enterprises are losing time and money on this joke of a system and they should be fired immediately.
Reproduce
.
Expected behavior
No response
docker version
.docker info
.Additional Info
No response