Docker Compose is een tool waarmee gebruikers multi‑container Docker‑toepassingen kunnen definiëren en uitvoeren. Met Docker Compose kun je een YAML‑bestand gebruiken om de services, netwerken en volumes van de applicatie te configureren, zodat je meerdere onderling verbonden containers kunt draaien die als één eenheid worden beheerd.
Docker Compose werd in 2014 geïntroduceerd als een manier om het beheer van multi‑container Docker‑toepassingen te vereenvoudigen. Sindsdien is het een populair hulpmiddel geworden binnen het Docker‑ecosysteem en biedt het een eenvoudige en efficiënte manier om containers te orkestreren.
Hoe Docker Compose Werkt
Docker Compose werkt door een YAML‑bestand te lezen dat de services, netwerken en volumes van de applicatie beschrijft. Elke service wordt gedefinieerd als een container, en het YAML‑bestand specificeert hoe de containers moeten worden geconfigureerd en hoe ze met elkaar communiceren.
Wanneer je Docker Compose uitvoert, maakt het een netwerk voor de applicatie aan en start het de containers die in het YAML‑bestand zijn gedefinieerd. De containers worden gestart in de volgorde zoals gespecificeerd in het bestand, en elke container krijgt zijn eigen set omgevingsvariabelen, configuratiebestanden en andere resources.
Zodra de containers draaien, biedt Docker Compose een reeks commando’s voor het beheren van de applicatie, zoals het starten en stoppen van containers, het schalen van services en het bekijken van logs.
Docker Compose Gebruiken
Om Docker Compose te gebruiken, moet je eerst een YAML‑bestand maken dat je applicatie beschrijft. Hieronder vind je een voorbeeld van een eenvoudig Docker Compose‑YAML‑bestand:
version: '3'
services:
web:
image: nginx
ports:
- "8000:80"
db:
image: postgres
environment:
POSTGRES_PASSWORD: example
In dit voorbeeld hebben we twee services: “web” en “db”. De “web” service gebruikt het nginx‑image en stelt poort 8000 beschikbaar voor de host. De “db” service gebruikt het postgres‑image en stelt de omgevingsvariabele POSTGRES_PASSWORD in.
Om de applicatie te starten, voer je het volgende commando uit:
docker-compose up
Dit commando leest het YAML‑bestand en start de containers die in het bestand zijn gedefinieerd. Je kunt vervolgens de webservice benaderen door een webbrowser te openen en naar http://localhost:8000 te navigeren.
Conclusie
Docker Compose is een krachtig hulpmiddel voor het beheren van multi‑container Docker‑toepassingen. Met Docker Compose kun je je applicatie definiëren als een set onderling verbonden containers, waardoor het eenvoudiger wordt om de applicatie te beheren en op te schalen. Door een eenvoudig YAML‑bestand te gebruiken om je applicatie te configureren, stelt Docker Compose je in staat om complexe container‑gebaseerde toepassingen gemakkelijk te maken, uit te voeren en te beheren.