====== 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:
invalid argument "cicd_develop_Backend" for "-t, --tag" flag: invalid reference format: repository name (library/cicd_develop_Backend) must be lowercase
==== 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.
--restart unless-stopped
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.
.git
.gitignore
.env
.env.*
__pycache__/
*.pyc
venv/
.venv/
.idea/
.vscode/
tests/
coverage/
*.log
Dockerfile
docker-compose.yml
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