0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · Lektion

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:

  1. Anmelden: Verwenden Sie docker/login-action mit Ihrem Docker-Hub-Benutzernamen und einem als GitHub Secret gespeicherten Personal Access Token (PAT).
  2. Erstellen und Pushen: Verwenden Sie docker/build-push-action, um Ihr Image zu erstellen, und setzen Sie push: 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:latest

In GHCR übertragen

Die GitHub Container Registry (GHCR) bietet eine nahtlose Integration. Die wichtigsten Unterschiede bei GHCR:

  • Authentifizierung: Sie können das integrierte GITHUB_TOKEN zur Authentifizierung verwenden. Setzen Sie username: ${{ github.actor }} und password: ${{ 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 }}:latest

Verstä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-action unterstü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

  1. Docker-Images mit Actions erstellen
  2. Images in Registries pushen
  3. Mit Actions in Kubernetes deployen
  4. Helm-Charts und Kubernetes-Manifeste in CI/CD
← Zurück zu CI/CD with GitHub Actions & DevOps Pipelines