Images in Registries pushen
Konfigurieren Sie Workflows, um Ihre erstellten Docker-Images in Container-Registries wie Docker Hub oder GitHub Container Registry zu pushen.
Images in Registries pushen ist eine kostenlose CI/CD with GitHub Actions & DevOps Pipelines-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des CI/CD with GitHub Actions & DevOps Pipelines-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der CI/CD with GitHub Actions & DevOps Pipelines-Kurs umfasst insgesamt 4 Lektionen.
Was sind Container-Registrys?
Eine Container-Registry ist ein sicherer Online-Speicherdienst für Ihre Docker-Images. Stellen Sie sie sich als Cloud-Laufwerk vor, das speziell für die Pakete Ihrer Anwendung entwickelt wurde.
- Sie speichern verschiedene Versionen Ihrer Images.
- Sie erleichtern das Teilen von Images mit anderen.
- Sie sind entscheidend für die Bereitstellung in verschiedenen Umgebungen.
Warum Registrys verwenden?
Registrys sind für die moderne Softwareentwicklung unverzichtbar. Sie bieten mehrere wichtige Vorteile:
- Images teilen: Verteilen Sie Ihre Anwendungs-Images ganz einfach.
- Versionsverwaltung: Speichern und verwalten Sie verschiedene Versionen Ihrer Anwendung.
- Zuverlässige Bereitstellung: Stellen Sie konsistente Bereitstellungen in verschiedenen Umgebungen sicher.
- Sicherheit: Viele Registrys bieten eine Prüfung auf Sicherheitslücken.
Gängige Registry-Dienste
Es gibt viele verfügbare Container-Registry-Dienste. Zwei beliebte Dienste, denen Sie häufig begegnen werden, sind:
- Docker Hub: Eine weit verbreitete öffentliche Registry. Hervorragend zum Teilen öffentlicher Images und für persönliche Projekte geeignet.
- GitHub Container Registry (GHCR): Eng in GitHub-Repositorys integriert. Besonders gut für private Images und Organisationen geeignet, die bereits GitHub verwenden.
Auch andere große Cloud-Anbieter bieten eigene Registrys an, etwa AWS ECR oder Google Container Registry.
Registry-Authentifizierung
Bevor Sie ein Image in eine Registry übertragen können, müssen Sie Ihre Identität nachweisen. Dieser Vorgang wird Authentifizierung oder auch Anmeldung genannt.
In der Regel geben Sie einen Benutzernamen und ein Personal Access Token (PAT) oder Passwort an. Diese Zugangsdaten stellen sicher, dass nur autorisierte Benutzer Images aus Ihren privaten Repositorys übertragen oder abrufen können.
docker/login-action verwenden
In GitHub Actions ist die beste Möglichkeit zur Authentifizierung bei den meisten Docker-kompatiblen Registrys die Verwendung von docker/login-action.
Diese Action meldet Ihren Workflow sicher bei der angegebenen Registry an, sodass nachfolgende Schritte Images übertragen können. Sie verwendet username und password als Eingaben.
In Docker Hub übertragen
Um ein Image in Docker Hub zu übertragen, muss Ihr Workflow folgende Schritte ausführen:
- Anmelden: Verwenden Sie
docker/login-actionmit Ihrem Docker-Hub-Benutzernamen und einem als GitHub Secret gespeicherten Personal Access Token (PAT). - Erstellen und Pushen: Verwenden Sie
docker/build-push-action, um Ihr Image zu erstellen, und setzen Siepush: true. Stellen Sie sicher, dass Ihr Image-Tag Ihren Docker-Hub-Benutzernamen enthält, z. B.your_username/my-app:latest.
Docker-Hub-Workflow-Beispiel
Hier ist ein Beispiel für einen GitHub-Actions-Workflow, der ein Docker-Image erstellt und in Docker Hub überträgt. Denken Sie daran, DOCKER_USERNAME und DOCKER_TOKEN als GitHub Secrets in Ihrem Repository einzurichten.
name: Publish Docker image to Docker Hub
on:
push:
branches: [ "main" ]
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: ${{ secrets.DOCKER_USERNAME }}/my-app:latestIn GHCR übertragen
Die GitHub Container Registry (GHCR) bietet eine nahtlose Integration. Die wichtigsten Unterschiede bei GHCR:
- Authentifizierung: Sie können das integrierte
GITHUB_TOKENzur Authentifizierung verwenden. Setzen Sieusername: ${{ github.actor }}undpassword: ${{ secrets.GITHUB_TOKEN }}. - Berechtigungen: Ihr Job benötigt die Berechtigung
packages: write. - Image-Tagging: Images werden wie folgt getaggt:
ghcr.io/<OWNER>/<REPOSITORY>:<TAG>.
GHCR-Workflow-Beispiel
Dieser Workflow zeigt, wie ein Image in die GitHub Container Registry übertragen wird. Beachten Sie den Block permissions und das Format des Image-Tags.
name: Publish Docker image to GHCR
on:
push:
branches: [ "main" ]
jobs:
build-and-push:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write # Required for GHCR
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Log in to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: ghcr.io/${{ github.repository }}:latestVerständnis prüfen
Sehen wir uns kurz an, was Sie über das Pushen von Images in Container-Registries gelernt haben.
Zusammenfassung: Pushen Sie Ihre Images!
Sehr gut! Sie haben gelernt, wie Sie Docker-Images mithilfe von GitHub Actions in Container-Registries pushen.
- Container-Registries speichern und verwalten Ihre Docker-Images.
- Die Authentifizierung ist ein entscheidender erster Schritt, für den Zugangsdaten benötigt werden.
docker/login-actionunterstützt Sie bei der sicheren Anmeldung.- Sie haben Beispiele für Docker Hub und die GitHub Container Registry gesehen und dabei deren unterschiedlichen Anforderungen an Authentifizierung und Tagging kennengelernt.
Als Nächstes lernen Sie, wie Sie diese Images in Kubernetes deployen!
Häufig gestellte Fragen
Ist die Lektion „Images in Registries pushen“ kostenlos?
Ja — der vollständige Text von „Images in Registries pushen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des CI/CD with GitHub Actions & DevOps Pipelines-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der CI/CD with GitHub Actions & DevOps Pipelines-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Images in Registries pushen“?
Konfigurieren Sie Workflows, um Ihre erstellten Docker-Images in Container-Registries wie Docker Hub oder GitHub Container Registry zu pushen. Du übst CI/CD with GitHub Actions & DevOps Pipelines mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um CI/CD with GitHub Actions & DevOps Pipelines zu starten?
Keine Vorkenntnisse erforderlich. CI/CD with GitHub Actions & DevOps Pipelines auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Images in Registries pushen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser CI/CD with GitHub Actions & DevOps Pipelines-Lektion Code schreiben und ausführen?
Ja. Jede CI/CD with GitHub Actions & DevOps Pipelines-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Docker-Images mit Actions erstellen
- Images in Registries pushen
- Mit Actions in Kubernetes deployen
- Helm-Charts und Kubernetes-Manifeste in CI/CD