DevOps-bootcamp · Les

Docker-images bouwen met Actions

Automatiseer het bouwen van Docker-images voor uw applicaties rechtstreeks binnen uw GitHub Actions-workflows.

Les 1 van 411 stappen

Docker-images bouwen met Actions is een gratis DevOps-bootcamp-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject DevOps-bootcamp. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus DevOps-bootcamp bevat in totaal 4 lessen.

Wat zijn Docker-images?

Welkom! In deze les leer je Docker-images bouwen met GitHub Actions.

Eerst: wat is een Docker-image? Zie het als een lichtgewicht, zelfstandig uitvoerbaar pakket dat alles bevat wat nodig is om een stuk software uit te voeren:

  • Je code
  • Een runtime (bijv. Java, Python)
  • Systeemtools en bibliotheken
  • Configuratiebestanden

Het is als een blauwdruk voor het maken van Docker-containers, zodat je toepassing in verschillende omgevingen consistent werkt.

Waarom Docker-builds automatiseren?

Handmatig Docker-images bouwen kan repetitief en foutgevoelig zijn. Daar komt automatisering goed van pas!

Door het bouwen van Docker-images in je CI/CD-pijplijn met GitHub Actions te integreren, krijg je:

  • Consistentie: Elke build volgt dezelfde stappen.
  • Snelheid: Geautomatiseerde builds zijn sneller dan handmatige.
  • Betrouwbaarheid: Verminder menselijke fouten.
  • Integratie: Builds worden automatisch gestart wanneer de code verandert.

Het is een kernpraktijk in moderne DevOps!

De Dockerfile-blauwdruk

Een Dockerfile is een tekstbestand met alle opdrachten om een Docker-image samen te stellen. Het is net een recept.

Hier zie je een heel eenvoudig Dockerfile-voorbeeld:

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

De Dockerfile begrijpen

Laten we die eenvoudige Dockerfile stap voor stap bekijken:

  • FROM alpine:latest: Hiermee geef je de basisimage op. We beginnen met een kleine Linux-distributie met de naam Alpine.
  • WORKDIR /app: Hiermee stel je de werkmap in de image in.
  • COPY . .: Hiermee kopieer je alle bestanden uit je projectmap naar de map /app in de image.
  • CMD ["echo", "Hello from Docker!"]: Dit is de opdracht die wordt uitgevoerd wanneer vanuit deze image een container start.

Dit bestand staat in de hoofdmap van je project.

Je werkstroom instellen

Om Docker-images te bouwen met GitHub Actions maak je een YAML-bestand (bijv. .github/workflows/docker-build.yml) in je repository.

Dit bestand definieert je werkstroom, een reeks geautomatiseerde stappen.

Een basiswerkstroom voor het bouwen van een image bevat doorgaans:

  1. Je code ophalen.
  2. De Docker-bouwomgeving instellen.
  3. De Docker-image bouwen.

Stap 1: je code ophalen

De eerste stap in bijna elke GitHub Actions-werkstroom is het ophalen van de code uit je repository. Dit doe je met de actions/checkout-actie.

Deze kloont je repository naar de runner, zodat je Dockerfile en applicatiecode beschikbaar zijn voor het bouwproces.

Zo ziet dit eruit in je werkstroombestand:

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

Stap 2: Docker Buildx instellen

Vervolgens moeten we de Docker-bouwomgeving instellen. De docker/setup-buildx-action wordt sterk aanbevolen.

Buildx is een Docker-component die de bouwmogelijkheden van Docker uitbreidt en geavanceerde functies zoals bouwen voor meerdere platforms ondersteunt.

Voeg deze stap toe aan je werkstroom:

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

Stap 3: de Docker-image bouwen

Nu komt het belangrijkste onderdeel: de image bouwen! Hiervoor gebruiken we de docker/build-push-action.

Belangrijke opties:

  • context: .: Hiermee geef je de bouwcontext op (meestal de hoofdmap van je repository).
  • push: false: Voorlopig bouwen we alleen, zonder naar een register te pushen. In een latere les behandelen we het pushen.
  • tags: my-app:latest: Hiermee geef je je image een naam en tag.
      - name: Build and tag Docker image
        uses: docker/build-push-action@v5
        with:
          context: .
          push: false
          tags: my-app:latest

Volledig voorbeeld van een bouwwerkstroom

Hier zie je de volledige GitHub Actions-werkstroom voor het bouwen van een Docker-image. Denk eraan: deze YAML komt in .github/workflows/docker-build.yml.

Deze werkstroom wordt bij elke push naar je repository gestart.

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

Korte controle

Laten we controleren of je begrijpt hoe je Docker-images bouwt met GitHub Actions.

Samenvatting: Docker-images bouwen

Goed gedaan! Je hebt de basis geleerd van het automatiseren van Docker-imagebouw met GitHub Actions.

We hebben behandeld:

  • Wat Docker-images zijn en waarom ze belangrijk zijn.
  • De rol van een Dockerfile als blauwdruk voor de image.
  • Het instellen van een basiswerkstroom voor GitHub Actions.
  • Het gebruiken van essentiële acties zoals actions/checkout, docker/setup-buildx-action en docker/build-push-action.

In de volgende les leer je hoe je deze gebouwde images naar een containerregister pusht!

Gratis beginnen

Leer DevOps-bootcamp met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
142
Lessen
568

Veelgestelde vragen

Is de les “Docker-images bouwen met Actions” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad DevOps-bootcamp, waaronder “Docker-images bouwen met Actions”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus DevOps-bootcamp bevat in totaal 4 lessen.

Wat leer ik in “Docker-images bouwen met Actions”?

Automatiseer het bouwen van Docker-images voor uw applicaties rechtstreeks binnen uw GitHub Actions-workflows. Je oefent met DevOps-bootcamp door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met DevOps-bootcamp te beginnen?

Ervaring vooraf is niet nodig. DevOps-bootcamp op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.

Hoe lang duurt de les “Docker-images bouwen met Actions”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over DevOps-bootcamp?

Ja. Elke les over DevOps-bootcamp bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Docker-images bouwen met Actions
  2. Images naar registries pushen
  3. Implementeren in Kubernetes met Actions
  4. Helm-charts en Kubernetes-manifesten in CI/CD
← Terug naar DevOps-bootcamp