====== 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