Docker en de basis van DevOps · Les

Applicaties met meerdere services implementeren

Implementeer met Docker Compose een full-stackapplicatie met een database en backendservice.

Les 3 van 411 stappen

Applicaties met meerdere services implementeren is een gratis Docker en de basis van DevOps-les op CoddyKit. Dit is les 3 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 Docker en de basis van DevOps. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Docker en de basis van DevOps bevat in totaal 4 lessen.

Apps met meerdere services implementeren

Welkom! In deze les leer je hoe je een fullstackapplicatie met Docker Compose online brengt.

Je ziet hoe je meerdere services, zoals een webapp en een database, definieert en ze vervolgens samen implementeert en beheert.

Applicaties met meerdere services implementeren — illustratie 1

Ons voorbeeld: web en database

We implementeren een eenvoudige webapplicatie die verbinding maakt met een database. Dit is een veelgebruikte opzet voor veel applicaties uit de praktijk.

  • Webservice: Een Python Flask-applicatie die een eenvoudige webpagina aanbiedt.
  • Databaseservice: Een PostgreSQL-database om gegevens op te slaan.

Met Docker Compose orkestreer je deze twee services eenvoudig!

De webimage bouwen

Onze webservice heeft een eigen Docker-image nodig. Hier is een vereenvoudigd Dockerfile waarmee we onze Python Flask-applicatie bouwen.

Het installeert Flask en een PostgreSQL-connector en voert vervolgens onze app.py uit.

FROM python:3.9-slim-buster

WORKDIR /app

COPY . /app

RUN pip install --no-cache-dir flask psycopg2-binary

EXPOSE 5000

CMD ["python", "app.py"]

Het bestand `docker-compose.yml`

Dit bestand docker-compose.yml definieert onze twee services: web en db. Let erop hoe de service web vanuit ons Dockerfile wordt gebouwd en via omgevingsvariabelen verbinding maakt met de service db.

version: '3.8'
services:
  web:
    build: .
    ports:
      - "5000:5000"
    environment:
      DB_HOST: db
      DB_NAME: mydatabase
      DB_USER: user
      DB_PASSWORD: password
    depends_on:
      - db
  db:
    image: postgres:13
    environment:
      POSTGRES_DB: mydatabase
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
    volumes:
      - db_data:/var/lib/postgresql/data

volumes:
  db_data:

Je services starten

Om alle services te starten die in je bestand docker-compose.yml zijn gedefinieerd, gebruik je het commando docker compose up.

De vlag -d voert de containers uit in de modus "detached", wat betekent dat ze op de achtergrond draaien.

# This command starts your multi-service app
# and runs it in the background.
docker compose up -d

Actieve containers controleren

Nadat je docker compose up -d hebt uitgevoerd, wil je controleren of al je services naar verwachting actief zijn.

Het commando docker compose ps toont de services, hun status en hun poorten.

# Check the status of your services
docker compose ps

Verbinding maken met je app

Als de services actief zijn, kun je je webapplicatie openen.

  • Open je webbrowser.
  • Ga naar http://localhost:5000.

Je zou een bericht van onze Flask-app moeten zien waarin de verbinding met de PostgreSQL-database wordt bevestigd!

Services schalen

Een krachtige functie van Docker Compose is het schalen van services. Als je webapp meer verkeer moet verwerken, kun je eenvoudig het aantal instanties van de webservice verhogen.

Gebruik de vlag --scale met docker compose up.

# Scale the 'web' service to 3 instances
docker compose up --scale web=3 -d

Services stoppen en verwijderen

Wanneer je klaar bent met je applicatie, kun je alle services en de bijbehorende netwerken uit je bestand docker-compose.yml stoppen en verwijderen.

Het commando docker compose down voert deze opruiming voor je uit.

# Stop and remove all services
docker compose down

Korte controle

Denk aan het bestand docker-compose.yml dat we hebben gebruikt. Je hebt je applicatie zojuist gestart met docker compose up -d.

Wat is het belangrijkste commando om alle actieve services en de bijbehorende resources te stoppen en te verwijderen?

Samenvatting en volgende stappen

Goed gedaan! Je hebt geleerd hoe je een applicatie met meerdere services implementeert en beheert met Docker Compose.

  • We hebben services gedefinieerd in docker-compose.yml.
  • We hebben docker compose up -d gebruikt om services te starten.
  • We hebben de status gecontroleerd met docker compose ps.
  • We hebben services geschaald en docker compose down gebruikt voor de opruiming.

Dit is een fundamentele vaardigheid voor lokale ontwikkeling en het testen van complexe applicaties!

Gratis beginnen

Leer Docker en de basis van DevOps 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
12
Lessen
48

Veelgestelde vragen

Is de les “Applicaties met meerdere services implementeren” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Docker en de basis van DevOps, waaronder “Applicaties met meerdere services implementeren”, 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 Docker en de basis van DevOps bevat in totaal 4 lessen.

Wat leer ik in “Applicaties met meerdere services implementeren”?

Implementeer met Docker Compose een full-stackapplicatie met een database en backendservice. Je oefent met Docker en de basis van DevOps 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 Docker en de basis van DevOps te beginnen?

Ervaring vooraf is niet nodig. Docker en de basis van DevOps 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 3 van 4.

Hoe lang duurt de les “Applicaties met meerdere services implementeren”?

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 Docker en de basis van DevOps?

Ja. Elke les over Docker en de basis van DevOps 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. Wat is Docker Compose?
  2. Een Compose-bestand schrijven
  3. Applicaties met meerdere services implementeren
  4. Omgevingsvariabelen en .env-bestanden
← Terug naar Docker en de basis van DevOps