For user-readable files or media I store them under ~/docker/data, and for everything else I store them under ~/docker/stacks/[service] where ~/docker/stacks is maintained by Dockge.
Is there a better way to do this?
I have multiple compose stacks with one folder each, and they also contain all the bind volumes and any other extra files needed.
it makes it all so easy to scp that bitch!
I always use /docker, but I recognize that’s probably not the most “correct” place.
Doing the same, works fine and is easy to backup 😌
/srv/[stack name]/volumes/[binds]
I just like so much /srv is the best folder
/opt/docker/[service]
along with the compose.yaml file, unless I need it in a different drive for any reason
This is me.
For example, /srv/docker/synching contains:
compose.yml .env ./Sync
That last one is a directory bound to the container which contains all my sync folders.
Occasionally it makes more sense to put the mounted folder in /srv like /srv/photos is mounted by /srv/docker/photoprism/compose.yml
However, thats a rarity. Things mostly accessed by a single compose stack are kept alongside the other files for that stack.
Bind mounts aren’t specific to Docker. You’re asking specifically about bind mounts as used by Docker?
Yes
If you using bind mounts - you are using dockers in wrong way. Use named volumes.
I run a swarm and the NAS~esque machine has its exportfs entries under /export so all my docker persistence data goes into /export/docks/<stackname>/<service>/<mount>
I didn’t think much of what the “correct” location would be. But i have a general kinda everything share at /var/share/[music,books,video,user folders,repo]. And then any caching or config data sits in that dockers home folder under /etc/docker/[jellyfin,immich,kavita,etc] together with its docker-compose file. All docker services run under the group user so they all have access to the share.







