Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:modul:ffit:3-jahr:cicd:learningunits:lu13:a [2026/05/21 14:11] apeterde:modul:ffit:3-jahr:cicd:learningunits:lu13:a [2026/05/26 00:53] (aktuell) apeter
Zeile 1: Zeile 1:
-====== LU13a - Placeholder ======+====== LU13a - Best Practices bei Docker ====== 
 + 
 +==== Naming ==== 
 + 
 +Verwenden Sie bei Dockercontainern Kleinbuchstaben anstatt Grossbuchstaben. Vermeiden Sie zudem Leerzeichen. 
 + 
 +Bei Nichteinhaltung dieses Naming-Richtlinie kann es zu folgendem Fehler kommen: 
 +<code log> 
 +invalid argument "cicd_develop_Backend" for "-t, --tag" flag: invalid reference format: repository name (library/cicd_develop_Backend) must be lowercase 
 +</code> 
 + 
 +==== Restart Policy ==== 
 + 
 +Das folgende Argument sorgt dafür, dass der Docker-Container nach einem Server-Restart automatisch wieder gestartet wird. Dies ist daher äusserst empfohlen bei einer Umgebung, welche regelmässig runter- und wieder hochfährt. 
 + 
 +<code groovy>--restart unless-stopped</code> 
 + 
 +Ergänzen Sie bei Bedarf Ihre Jenkinsfiles. 
 + 
 +Ein Beispiel finden Sie unter: https://github.com/AlexanderPeter/cicd/blob/develop/Jenkinsfile 
 + 
 +==== .dockerignore ==== 
 + 
 +Verwenden Sie bei jeder ''Dockerfile''-Datei auch eine dazugehörige ''.dockerignore''-Datei im gleichen Verzeichnis. Dadurch werden nicht unnötige Dateien in den Container kopiert und letzteres wird entsprechend nicht unnötig aufgebläht. 
 + 
 +<code .dockerignore> 
 +.git 
 +.gitignore 
 +.env 
 +.env.* 
 +__pycache__/ 
 +*.pyc 
 +venv/ 
 +.venv/ 
 +.idea/ 
 +.vscode/ 
 +tests/ 
 +coverage/ 
 +*.log 
 +Dockerfile 
 +docker-compose.yml 
 +</code> 
 + 
 +Fügen Sie für jede ''Dockerfile''-Datei eine entsprechende ''.dockerignore''-Datei hinzu. 
 + 
 +Ein Beispiel finden Sie auf: https://github.com/AlexanderPeter/cicd/blob/develop/backend/.dockerignore
  
-  * Jenkinsfile anstelle manueller Konfigurationen! 
-  * Restart-Einstellung bei Docker 
-  * naming von Containern (und pipelines) 
-  * base / basename 
-  * Port 5000 
-  * rm -f 
-  * Grafana? Splunk? Logs? 
  • de/modul/ffit/3-jahr/cicd/learningunits/lu13/a.1779365475.txt.gz
  • Zuletzt geändert: 2026/05/21 14:11
  • von apeter