Zum Inhalt springen

Docker Services versionieren: Unterschied zwischen den Versionen

Aus Home Wiki
 
(13 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. Vorbereitung: Ignorierte Dateien prüfen ==
== 1. Ignorierte Dateien prüfen ==
Bevor Dateien hinzugefügt werden, muss sichergestellt werden, dass die `.gitignore` den Upload nicht blockiert.
Bevor Dateien hinzugefügt werden, muss sichergestellt werden, dass die `.gitignore` den Upload nicht blockiert.
 
==== Wechsel in das Verzeichnis des Services ====
 
== Wechsel in das Verzeichnis des Services ==
<pre class="dynamic-code">
<pre class="dynamic-code">
cd ~/docker/{{folder}}
cd ~/docker/{{folder}}
</pre>
</pre>
Prüfung der Ignorier-Regeln
==== Prüfung der Ignorier-Regeln ====
<pre class="static-code">
<pre class="static-code">
cat .gitignore
cat .gitignore
Zeile 26: Zeile 24:
Ideal für gezieltes Hinzufügen von Konfigurationsdateien.
Ideal für gezieltes Hinzufügen von Konfigurationsdateien.


Einzelne Dateien hinzufügen
==== 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}}/{{Datei}} {{pfadZurDatei}}/{{Datei2}}
git add {{pfadZurDatei}}{{Datei}} {{pfadZurDatei}}/{{Datei2}}
</pre>
</pre>
ODER: Ganzen Ordner rekursiv hinzufügen
 
==== Ganzen Ordner rekursiv hinzufügen ====
<pre class="dynamic-code">
<pre class="dynamic-code">
git add {{Ordner}}
git add {{Ordner}}
Zeile 44: 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="dynamic-code">
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 69: 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="dynamic-code">
git remote -v
git remote -v
</pre>
</pre>
Detailinformationen (Tracking, Default-Branch, Push-URL)
==== Detailinformationen (Tracking, Default-Branch, Push-URL) ====
<pre class="dynamic-code">
<pre class="static-code">
git remote show origin
git remote show origin
</pre>
</pre>
Aktuellen Branch anzeigen
==== Aktuellen Branch anzeigen ====
<pre class="dynamic-code">
<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="dynamic-code">
<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.