encbladexp hat recht, Docker hat seine eigene File-Struktur.
Für 1,2 und 4:
Vielleicht gibt es da einfach - wie so oft - nicht die Antwort. Oder die Antwort ist wie so oft "kommt drauf an".
Was hast du denn genau vor? Ist der Host physikalisch oder virtuell? Bist du der einzige, der den Host betreut oder sind da noch andere Benutzer (event. mit anderen Usern) unterwegs?
Und vor allem: Was ist dein Ziel? Einfach nur "die richtigen Regeln befolgen" oder soll das Ganze einem höheren Zweck dienen? Je nach Antwort könnte das dann sein:
Daten liegen auf separater Platte (physikalisch oder virtuell)
Daten liegen nicht auf dem Host, sondern werden von einem zentralen Storage gemountet.
1 und 2 liegen auf zentralem Versionierungssystem wie GitLab/Github
Einsatz von LVM, wenn große Datenmengen anstehen
Bei deinem Setup könntest du außerdem unterscheiden zwischen
compose-Files und Konfigurationsdateien
Daten, die von den Containern erzeugt werden, die du aber über Bind-Volumes mountest.
Auf single-Hosts nutzen wir mittlerweile /opt/<beliebig-verschachtelt>. Alternativ kannst du auch das Homeverzeichnis deines Users nehmen. Wie gesagt, es kommt drauf an.
Mag sein, dass es bestimmte Empfehlungen gibt - die obigen Fragen musst aber du selbst beantworten.
Einzige Antwort die immer richtig ist: Die "eventuellen" Backups (5) sollten außerhalb des Hosts liegen.
Gruß BillMaier
(EDIT: full zitat entfernt)