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.