Docker Services versionieren: Unterschied zwischen den Versionen
Saya (Diskussion | Beiträge) |
Saya (Diskussion | Beiträge) |
||
| (9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
Diese Anleitung beschreibt den Workflow, um Konfigurationsdateien von Docker-Services sicher in einem Git-Repository (z. B. Gitea) zu versionieren. | Diese Anleitung beschreibt den Workflow, um Konfigurationsdateien von Docker-Services sicher in einem Git-Repository (z. B. [[Gitea]]) zu versionieren. | ||
== 1. Ignorierte Dateien prüfen == | == 1. Ignorierte Dateien prüfen == | ||
| Zeile 24: | Zeile 24: | ||
Ideal für gezieltes Hinzufügen von Konfigurationsdateien. | Ideal für gezieltes Hinzufügen von Konfigurationsdateien. | ||
Einzelne | ==== Einzelne Datei hinzufügen ==== | ||
<pre class="dynamic-code"> | <pre class="dynamic-code"> | ||
git add {{pfadZurDatei}}/{{Datei}} | git add {{pfadZurDatei}}/{{Datei}} | ||
</pre> | </pre> | ||
Liste hinzufügen | ==== Liste hinzufügen ==== | ||
<pre class="dynamic-code"> | <pre class="dynamic-code"> | ||
git add {{pfadZurDatei}} | git add {{pfadZurDatei}}{{Datei}} {{pfadZurDatei}}/{{Datei2}} | ||
</pre> | </pre> | ||
==== Ganzen Ordner rekursiv hinzufügen ==== | |||
<pre class="dynamic-code"> | <pre class="dynamic-code"> | ||
git add {{Ordner}} | git add {{Ordner}} | ||
| Zeile 42: | Zeile 43: | ||
git add . | git add . | ||
</pre> | </pre> | ||
== 3. Status prüfen & Commit erstellen == | == 3. Status prüfen & Commit erstellen == | ||
Vor dem Speichern solltest du immer prüfen, was im "Staging"-Bereich gelandet ist, um keine Passwörter versehentlich hochzuladen. | Vor dem Speichern solltest du immer prüfen, was im "Staging"-Bereich gelandet ist, um keine Passwörter versehentlich hochzuladen. | ||
==== Prüfung der vorgemerkten Änderungen ==== | |||
<pre class="static-code"> | |||
Prüfung der vorgemerkten Änderungen | |||
<pre class=" | |||
git status | git status | ||
</pre> | </pre> | ||
Änderungen lokal speichern | ==== Änderungen lokal speichern ==== | ||
<pre class="dynamic-code"> | <pre class="dynamic-code"> | ||
git commit -m "{{Update}}" | git commit -m "{{Update}}" | ||
</pre> | </pre> | ||
== 4. Änderungen zu Gitea übertragen (Push) == | == 4. Änderungen zu Gitea übertragen (Push) == | ||
| Zeile 67: | Zeile 62: | ||
git push | git push | ||
</pre> | </pre> | ||
== 5. Repository-Informationen & Analyse == | == 5. Repository-Informationen & Analyse == | ||
Hier findest du nützliche Befehle, um die Verknüpfung zu deinem Gitea-Server zu prüfen. | Hier findest du nützliche Befehle, um die Verknüpfung zu deinem Gitea-Server zu prüfen. | ||
==== Welches Remote-Repository wird verwendet? ==== | |||
<pre class="static-code"> | |||
Welches Remote-Repository wird verwendet? | |||
<pre class=" | |||
git remote -v | git remote -v | ||
</pre> | </pre> | ||
Detailinformationen (Tracking, Default-Branch, Push-URL) | ==== Detailinformationen (Tracking, Default-Branch, Push-URL) ==== | ||
<pre class=" | <pre class="static-code"> | ||
git remote show origin | git remote show origin | ||
</pre> | </pre> | ||
Aktuellen Branch anzeigen | ==== Aktuellen Branch anzeigen ==== | ||
<pre class=" | <pre class="static-code"> | ||
git branch | git branch | ||
</pre> | </pre> | ||
Nur die Remote-URL aus der Konfiguration auslesen | ==== Nur die Remote-URL aus der Konfiguration auslesen ==== | ||
<pre class=" | <pre class="static-code"> | ||
git config --get remote.origin.url | git config --get remote.origin.url | ||
</pre> | </pre> | ||
== Best Practices für Docker-Services == | == Best Practices für Docker-Services == | ||
Aktuelle Version vom 17. Februar 2026, 21:23 Uhr
Diese Anleitung beschreibt den Workflow, um Konfigurationsdateien von Docker-Services sicher in einem Git-Repository (z. B. Gitea) zu versionieren.
1. Ignorierte Dateien prüfen
Bevor Dateien hinzugefügt werden, muss sichergestellt werden, dass die `.gitignore` den Upload nicht blockiert.
Wechsel in das Verzeichnis des Services
cd ~/docker/{{folder}}
Prüfung der Ignorier-Regeln
cat .gitignore
Häufige Blocker in der .gitignore:
- `config/` (ignoriert den gesamten Ordner)
- `*.yaml` oder `*.yml` (ignoriert alle Konfigurationsdateien)
> Hinweis: Falls eine Datei ignoriert wird, die du dennoch sichern willst, musst du die `.gitignore` anpassen oder den Befehl `git add -f` (force) nutzen.
2. Dateien und Ordner zum Repository hinzufügen
Wähle die passende Methode, um deine Konfigurationen für den Commit vorzubereiten.
Variante A: Einzelne Dateien oder Ordner
Ideal für gezieltes Hinzufügen von Konfigurationsdateien.
Einzelne Datei hinzufügen
git add {{pfadZurDatei}}/{{Datei}}
Liste hinzufügen
git add {{pfadZurDatei}}{{Datei}} {{pfadZurDatei}}/{{Datei2}}
Ganzen Ordner rekursiv hinzufügen
git add {{Ordner}}
Variante B: Alles im aktuellen Verzeichnis
Um alle Änderungen im Projektordner gleichzeitig zu erfassen:
git add .
3. Status prüfen & Commit erstellen
Vor dem Speichern solltest du immer prüfen, was im "Staging"-Bereich gelandet ist, um keine Passwörter versehentlich hochzuladen.
Prüfung der vorgemerkten Änderungen
git status
Änderungen lokal speichern
git commit -m "{{Update}}"
4. Änderungen zu Gitea übertragen (Push)
Um die lokalen Commits auf den Server hochzuladen:
git push
5. Repository-Informationen & Analyse
Hier findest du nützliche Befehle, um die Verknüpfung zu deinem Gitea-Server zu prüfen.
Welches Remote-Repository wird verwendet?
git remote -v
Detailinformationen (Tracking, Default-Branch, Push-URL)
git remote show origin
Aktuellen Branch anzeigen
git branch
Nur die Remote-URL aus der Konfiguration auslesen
git config --get remote.origin.url
Best Practices für Docker-Services
Um das Repository sauber zu halten, sollten nur relevante Dateien versioniert werden.
| Versionieren (Ja) | NICHT versionieren (Nein) |
|---|---|
| `docker-compose.yml` | Logs (`*.log`) |
| `*.yaml` / `*.yml` Konfigurationen | Datenbank-Verzeichnisse (z.B. `mysql/`, `db/`) |
| `.env.example` (Templates) | `.env` (mit echten Passwörtern/Secrets!) |
| Eigene Shell-Scripte (`*.sh`) | Cache-Daten & Laufzeitdaten |
| Dockerfiles | Media-Dateien, Bilder, Backups |
Tipp zur Einbauposition (Mounting Position): Wenn du Volumes in deiner `docker-compose.yml` verschiebst oder Pfade änderst, stelle sicher, dass die neuen Pfade auch von Git erfasst werden. Nutze dazu oben einfach die Variable `Vorlage:Folder`, um die Befehle schnell für andere Container anzupassen.