Sobes.tech
Junior

Wat is Docker Compose?

sobes.tech AI

Antwoord van AI

Hulpmiddel voor het definiëren en uitvoeren van multi-container Docker-toepassingen. Hiermee kunnen services, netwerken en volumes worden beschreven in één YAML-bestand en met één commando worden gestart.

Belangrijkste functies:

  • Definiëren van meerdere services in één bestand.
  • Creëren en starten van alle services met één commando.
  • Beheer van de levenscyclus van de applicatie (starten, stoppen, herstarten, schalen).
  • Netwerkinteractie tussen containers.
  • Toepassen van configuraties in realtime.

Voorbeeld van een docker-compose.yml-bestand:

version: '3.8' # Bestandsformaatversie

services:
  web: # Servicenaam
    image: nginx:latest # Gebruikt image
    ports:
      - "80:80" # Poortomleiding
    volumes:
      - ./html:/usr/share/nginx/html # Volume-mapping

  app: # Naam van een andere service
    build: . # Bouwen van het image uit Dockerfile in de huidige directory
    ports:
      - "5000:5000"
    depends_on: # Afhankelijkheid van een andere service
      - db

  db: # Naam van de database service
    image: postgres:latest
    environment: # Omgevingsvariabelen
      POSTGRES_DB: mydatabase
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword

volumes: # Gedefinieerde volumes
  data: # Naamvolumen voor data

Commando's:

  • docker-compose up: Start de containers.
  • docker-compose down: Stopt en verwijdert de containers.
  • docker-compose build: Bouwt de images.
  • docker-compose ps: Toont de status van de lopende containers.

Voordelen:

  • Vereenvoudigt het beheer van complexe multi-container applicaties.
  • Zorgt voor reproduceerbaarheid van implementaties.
  • Maakt lokale ontwikkeling en testen gemakkelijker.