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

Docker-Images mit Actions erstellen

Automatisieren Sie das Erstellen von Docker-Images für Ihre Anwendungen direkt in Ihren GitHub-Actions-Workflows.

Docker-Images mit Actions erstellen ist eine kostenlose CI/CD with GitHub Actions & DevOps Pipelines-Lektion auf CoddyKit. Dies ist Lektion 1 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 Docker-Images?

Willkommen! In dieser Lektion lernen Sie, Docker-Images mithilfe von GitHub Actions zu erstellen.

Zunächst: Was ist ein Docker-Image? Stellen Sie es sich als ein leichtgewichtiges, eigenständiges und ausführbares Paket vor, das alles enthält, was zum Ausführen einer Softwarekomponente erforderlich ist:

  • Ihr Code
  • Eine Laufzeitumgebung, z. B. Java oder Python
  • Systemtools und Bibliotheken
  • Konfigurationsdateien

Es ist wie eine Vorlage für die Erstellung von Docker-Containern und stellt sicher, dass Ihre Anwendung in verschiedenen Umgebungen konsistent ausgeführt wird.

Warum Docker-Builds automatisieren?

Das manuelle Erstellen von Docker-Images kann sich wiederholen und fehleranfällig sein. Hier kommt die Automatisierung ins Spiel.

Wenn Sie das Erstellen von Docker-Images mit GitHub Actions in Ihre CI/CD-Pipeline integrieren, profitieren Sie von:

  • Konsistenz: Jeder Build folgt denselben Schritten.
  • Geschwindigkeit: Automatisierte Builds sind schneller als manuelle.
  • Zuverlässigkeit: Menschliche Fehler werden reduziert.
  • Integration: Bei Codeänderungen werden Builds automatisch ausgelöst.

Das ist eine zentrale Praxis im modernen DevOps.

Die Dockerfile-Vorlage

Eine Dockerfile ist eine Textdatei, die alle Befehle zum Erstellen eines Docker-Images enthält. Sie ist wie ein Rezept.

Hier ist ein sehr einfaches Dockerfile-Beispiel:

FROM alpine:latest
WORKDIR /app
COPY . .
CMD ["echo", "Hello from Docker!"]

Die Dockerfile verstehen

Sehen wir uns diese einfache Dockerfile im Detail an:

  • FROM alpine:latest: Gibt das Basis-Image an. Wir beginnen mit einer kleinen Linux-Distribution namens Alpine.
  • WORKDIR /app: Legt das Arbeitsverzeichnis innerhalb des Images fest.
  • COPY . .: Kopiert alle Dateien aus Ihrem Projektverzeichnis in das Verzeichnis /app innerhalb des Images.
  • CMD ["echo", "Hello from Docker!"]: Dies ist der Befehl, der ausgeführt wird, wenn ein Container aus diesem Image gestartet wird.

Diese Datei liegt im Stammverzeichnis Ihres Projekts.

Workflow einrichten

Um Docker-Images mit GitHub Actions zu erstellen, legen Sie in Ihrem Repository eine YAML-Datei an, z. B. .github/workflows/docker-build.yml.

Diese Datei definiert Ihren Workflow, also eine Reihe automatisierter Schritte.

Ein grundlegender Workflow zum Erstellen eines Images umfasst normalerweise:

  1. Ihren Code auszuchecken.
  2. Die Docker-Buildumgebung einzurichten.
  3. Das Docker-Image zu erstellen.

Schritt 1: Code abrufen

Der erste Schritt in fast jedem GitHub-Actions-Workflow besteht darin, den Code Ihres Repositorys abzurufen. Dazu wird die Aktion actions/checkout verwendet.

Sie klont Ihr Repository in den Runner, sodass Ihre Dockerfile und Ihr Anwendungscode für den Build-Prozess verfügbar sind.

So sieht das in Ihrer Workflow-Datei aus:

      - name: Checkout repository code
        uses: actions/checkout@v4

Schritt 2: Docker Buildx einrichten

Als Nächstes müssen wir die Docker-Buildumgebung einrichten. Die Aktion docker/setup-buildx-action wird dringend empfohlen.

Buildx ist eine Docker-Komponente, die die Build-Funktionen von Docker erweitert und fortgeschrittene Funktionen wie Multi-Plattform-Builds unterstützt.

Fügen Sie diesen Schritt zu Ihrem Workflow hinzu:

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3

Schritt 3: Docker-Image erstellen

Nun zum wesentlichen Teil: dem Erstellen des Images. Dafür verwenden wir docker/build-push-action.

Wichtige Optionen:

  • context: .: Gibt den Build-Kontext an, normalerweise das Stammverzeichnis Ihres Repositorys.
  • push: false: Vorerst erstellen wir das Image nur, ohne es in eine Registry zu übertragen. Das Übertragen behandeln wir in einer späteren Lektion.
  • tags: my-app:latest: Weist Ihrem Image einen Namen und ein Tag zu.
      - name: Build and tag Docker image
        uses: docker/build-push-action@v5
        with:
          context: .
          push: false
          tags: my-app:latest

Vollständiges Beispiel für einen Build-Workflow

Hier ist der vollständige GitHub-Actions-Workflow zum Erstellen eines Docker-Images. Denken Sie daran, dass dieses YAML in .github/workflows/docker-build.yml gehört.

Dieser Workflow wird bei jedem push in Ihr Repository ausgelöst.

name: Build Simple Docker Image

on: [push]

jobs:
  build-image:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository code
        uses: actions/checkout@v4

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3

      - name: Build and tag Docker image
        uses: docker/build-push-action@v5
        with:
          context: .
          push: false
          tags: my-app:latest

Kurzer Test

Testen wir Ihr Verständnis für das Erstellen von Docker-Images mit GitHub Actions.

Zusammenfassung: Docker-Images erstellen

Sehr gut! Sie haben die Grundlagen der Automatisierung von Docker-Image-Builds mit GitHub Actions gelernt.

Wir haben behandelt:

  • Was Docker-Images sind und warum sie wichtig sind.
  • Die Rolle einer Dockerfile als Vorlage für das Image.
  • Das Einrichten eines einfachen GitHub-Actions-Workflows.
  • Die Verwendung wichtiger Actions wie actions/checkout, docker/setup-buildx-action und docker/build-push-action.

In der nächsten Lektion sehen wir uns an, wie Sie diese erstellten Images in eine Container-Registry übertragen.

Häufig gestellte Fragen

Ist die Lektion „Docker-Images mit Actions erstellen“ kostenlos?

Ja — der vollständige Text von „Docker-Images mit Actions erstellen“ 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 „Docker-Images mit Actions erstellen“?

Automatisieren Sie das Erstellen von Docker-Images für Ihre Anwendungen direkt in Ihren GitHub-Actions-Workflows. 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 1 von 4.

Wie lange dauert die Lektion „Docker-Images mit Actions erstellen“?

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