Erweiterte Tagging-Techniken
Tagging von Images für mehrere Architekturen
## Erstellen von Images für mehrere Architekturen
docker buildx create --name multiarch
docker buildx use multiarch
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t myapp:multi-arch \
--push .
graph LR
A[Docker Buildx] --> B[AMD64]
A --> C[ARM64]
A --> D[Andere Architekturen]
Bedingte Tagging-Strategien
Skript für dynamisches Tagging
#!/bin/bash
## Generieren von Tags basierend auf Bedingungen
VERSION=$(git describe --tags)
BRANCH=$(git rev-parse --abbrev-ref HEAD)
if [ "$BRANCH" == "main" ]; then
docker tag myapp:latest myapp:stable-${VERSION}
elif [ "$BRANCH" == "develop" ]; then
docker tag myapp:latest myapp:beta-${VERSION}
fi
Metadatentyp |
Tag-Format |
Beispiel |
Commit-Hash |
<Version>-<Commit> |
1.0.0-a1b2c3d |
Buildnummer |
<Version>-build<Nummer> |
1.0.0-build123 |
Zeitstempel |
<Version>-<Zeitstempel> |
1.0.0-20230615 |
Automatisiertes Tagging mit CI/CD
Beispiel für GitHub Actions
steps:
- name: Build and Tag Docker Image
run: |
docker build \
--build-arg VERSION=${{ github.ref_name }} \
-t myapp:${{ github.sha }} \
-t myapp:${{ github.ref_name }}
Sicherheitsverstärktes Tagging
graph TD
A[Docker-Image] --> B{Sicherheits-Scan}
B --> |Erfolgreich| C[Tag mit Sicherheits-Stempel]
B --> |Nicht erfolgreich| D[Image ablehnen]
Skript für Sicherheits-Tagging
#!/bin/bash
## Scannen des Images und Taggen basierend auf dem Sicherheitsstatus
trivy image myapp:latest
if [ $? -eq 0 ]; then
docker tag myapp:latest myapp:secure-$(date +%Y%m%d)
fi
Intelligente Tagging-Techniken
Tagging für Versionskompatibilität
## Taggen von Images mit Kompatibilitätsinformationen
docker tag myapp:latest myapp:1.0.0-compatible-k8s-1.22
docker tag myapp:latest myapp:1.0.0-compatible-postgres-13
Tag-Präfix |
Zweck |
Beispiel |
opt- |
Optimierter Build |
myapp:opt-1.0.0 |
perf- |
Performance-Variante |
myapp:perf-1.0.0 |
Mit LabEx können Sie diese fortgeschrittenen Techniken zum Taggen von Docker-Images durch praktische Übungen und umfassende Lernmodule beherrschen.