Docker Compose installeren op Ubuntu: complete handleiding
Docker Compose heeft de manier waarop ontwikkelaars containerized applicaties benaderen fundamenteel veranderd, vooral wanneer meerdere onderling afhankelijke services moeten worden gecoördineerd. Deze tool vervangt handmatig containerbeheer door een gestructureerde, YAML-gestuurde workflow, waarmee teams volledige applicatie-architecturen in één configuratiebestand kunnen definiëren.
Voor Ubuntu-omgevingen betekent dit reproduceerbare deployments, eenvoudiger schalen en minder operationele overhead. Deze handleiding biedt een frisse kijk op de installatie en het gebruik van Docker Compose en geeft diepere inzichten in de praktische implementatie.
Vereisten Link kopiëren
Voordat je met deze tutorial begint, moet het volgende zijn geregeld:
-
Implementeer een Ubuntu cloud server-instance bij Hostman.
-
Zorg dat je een gebruikersaccount hebt met sudo-rechten of root-toegang, zodat je pakketten kunt installeren en Docker kunt beheren.
-
Docker moet geïnstalleerd zijn en actief draaien op de server, aangezien Docker Compose bovenop de Docker Engine werkt.
Waarom Docker Compose belangrijk is Link kopiëren
Moderne applicaties bestaan vaak uit meerdere onderling verbonden componenten, zoals API’s, databases en caching-lagen. Het afzonderlijk beheren van deze onderdelen met Docker-commando’s wordt al snel omslachtig naarmate de complexiteit toeneemt. Docker Compose lost dit op door alle services, netwerken en opslagvereisten te declareren in één docker-compose.yml-bestand. Deze aanpak zorgt voor consistentie tussen omgevingen—of je nu lokaal op een Ubuntu-machine werkt of op een cloudserver.
Neem bijvoorbeeld een webapplicatie met een Node.js-backend, een PostgreSQL-database en een Redis-cache. Zonder Docker Compose vereist elk onderdeel een aparte docker run-opdracht met nauwkeurige netwerkparameters. Met Compose worden deze relaties één keer vastgelegd, waardoor je de applicatie met één enkele opdracht kunt starten en stoppen.
Docker Compose installeren Link kopiëren
Volg deze stappen om Docker Compose op je Ubuntu-systeem te installeren.
Stap 1: Controleren of Docker is geïnstalleerd en actief is Link kopiëren
Docker Compose functioneert als een uitbreiding van Docker, dus controleer eerst de status:
sudo systemctl status docker
Als de service niet actief is, start deze met:
sudo systemctl start docker
Stap 2: Systeempakketten bijwerken Link kopiëren
Werk de pakketlijsten bij om toegang te krijgen tot de nieuwste softwareversies:
sudo apt-get update
Stap 3: Basis-hulpprogramma’s installeren Link kopiëren
Voor veilige communicatie met de Docker-repositories zijn deze pakketten vereist:
sudo apt-get install ca-certificates curl
Stap 4: Docker GPG-sleutel configureren Link kopiëren
Authenticeer Docker-pakketten door de cryptografische sleutel toe te voegen:
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
Deze stap zorgt ervoor dat pakketten tijdens het transport niet zijn gewijzigd.
Stap 5: Docker-repository toevoegen Link kopiëren
Voeg het Docker-repository toe dat past bij jouw Ubuntu-versie:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Het commando detecteert automatisch de juiste Ubuntu-versie via VERSION_CODENAME.
Stap 6: Docker Compose-plugin installeren Link kopiëren
Werk de repositories bij en installeer de Compose-extensie:
sudo apt update
sudo apt-get install docker-compose-plugin
Stap 7: Installatie verifiëren Link kopiëren
Controleer of Docker Compose correct is geïnstalleerd:
docker compose version
Voorbeeldoutput:
Docker Compose version v2.33.0
Een praktisch Docker Compose-project opzetten Link kopiëren
We implementeren een eenvoudige webserver met Nginx om de mogelijkheden van Docker Compose te demonstreren.
1. Projectmap initialiseren Link kopiëren
Maak een aparte werkmap aan:
mkdir ~/compose-demo && cd ~/compose-demo
2. Services definiëren in docker-compose.yml Link kopiëren
Maak het configuratiebestand aan:
nano docker-compose.yml
Voeg de volgende inhoud toe:
services:
web:
image: nginx:alpine
ports:
- "8080:80"
volumes:
- ./app:/usr/share/nginx/html
Uitleg:
-
services: Hoofdelement waarin containers worden gedefinieerd
-
web: Aangepaste servicenaam
-
image: Alpine-gebaseerde Nginx-image met een kleine footprint
-
ports: Koppelt hostpoort 8080 aan containerpoort 80
-
volumes: Synchroniseert de lokale app-map met de webroot van de container
3. Webinhoud aanmaken Link kopiëren
Maak de HTML-structuur:
mkdir app
nano app/index.html
Voeg deze HTML toe:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Docker Compose Test</title>
</head>
<body>
<h1>Hello from Docker Compose!</h1>
</body>
</html>
Containers orkestreren: van start tot afsluiten Link kopiëren
1. Services starten in de achtergrond Link kopiëren
docker compose up -d
Docker Compose downloadt automatisch de Nginx-image indien nodig en configureert het netwerk.
2. Containerstatus controleren Link kopiëren
docker compose ps -a
3. Webapplicatie openen Link kopiëren
Ga lokaal naar http://localhost:8080 of op een externe server naar http://<SERVER_IP>:8080. De testpagina zou zichtbaar moeten zijn.
4. Problemen analyseren via logs Link kopiëren
Bij problemen kun je de logs bekijken:
docker compose logs web
5. Netjes stoppen en opruimen Link kopiëren
Containers tijdelijk stoppen:
docker compose stop
Alle projectresources verwijderen:
docker compose down
Commandoreferentie: meer dan de basis Link kopiëren
Deze commando’s breiden het containerbeheer verder uit:
-
docker compose up --build – Images opnieuw bouwen vóór het starten
-
docker compose pause – Containers pauzeren zonder ze te beëindigen
-
docker compose top – Actieve processen in containers tonen
-
docker compose config – De samengestelde configuratie valideren en bekijken
-
docker compose exec – Commando’s uitvoeren in actieve containers
(bijv. docker compose exec web nginx -t om de Nginx-configuratie te testen)
Conclusie Link kopiëren
Docker Compose maakt van multi-container-orkestratie een gestroomlijnd en herhaalbaar proces in plaats van een handmatige en foutgevoelige taak. Door Docker Compose te installeren, services in YAML te definiëren en de essentiële commando’s te gebruiken, kun je complexe applicaties met vertrouwen beheren.