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