Obwohl ich glaube, dass es genügend gute Übersetzungssoftware gibt, sende ich trotzdem die von mir überprüfte Computerübersetzung. Die deutsche Version ist unten angefügt.
Notice: I'm not following any "Best Practice". I just want to share how I deployed them.
I am using docker compose. I decided not to use docker volumes at the beginning. And I separate the mounted paths into four categories:
- configuration
- runtime data
- logs
- persistent data
and put them respectively in the corresponding directories according to file-hierarchy(7).
The configuration is version controlled with git and the persistent data is backuped (also version controlled, sort of) with restic. Most of the build files have been separated into git repos and docker compose will build from the git URLs. The rest are seen as configuration.
Each compose project(by definition of https://docs.docker.com/compose/project-name/) has a folder with the project name and each service(by definition of https://docs.docker.com/reference/compose-file/services/) has a subfolder with its service name. Services may have multiple folders but I didn't regulate this much details.
Storing runtime data separately is mainly because of my partition plan. I believe it should be adjusted accordingly depending on partition plan.
Hinweis: Ich halte mich nicht an "Erfolgsmethode". Ich möchte einfach teilen, wie ich sie bereitgestellt habe.
Ich benutze Docker Compose. Zu Beginn habe ich beschlossen, keine Docker-Volumes zu verwenden. Ich habe die gemounteten Pfade in drei Kategorien unterteilt:
- Konfiguration
- Laufzeitdaten
- Protokolldatei
- Persistente Daten
Und habe sie entsprechend in den entsprechenden Verzeichnissen gemäß der file-hierarchy(7) abgelegt.
Die Konfiguration wird mit Git versioniert und die persistenten Daten werden (auch versioniert, sozusagen) mit Restic gesichert. Die meisten Build-Dateien sind in separate Git-Repos unterteilt, und Docker Compose wird aus den Git-URLs bauen. Die restlichen werden als Konfiguration betrachtet.
Jedes Compose-Projekt (laut Definition von https://docs.docker.com/compose/project-name/) hat einen Ordner mit dem Projektnamen, und jeder Dienst (laut Definition von https://docs.docker.com/reference/compose-file/services/) hat einen Unterordner mit seinem Dienstnamen. Dienste können mehrere Ordner haben, aber ich habe dies nicht sehr detailliert geregelt.
Das separate Speichern von Laufzeitdaten ist hauptsächlich auf meinen Partitionierungsplan zurückzuführen. Ich glaube, es sollte entsprechend angepasst werden, je nach Partitionierungsplan.