50% korting alle abonnementen, tijdelijk aanbod. Vanaf $2.48/mo
9 min resterend
Ontwikkeltools & DevOps

Praktische gids voor Docker Compose-logs: controleren en beheren

Ada Lovegoed By Ada Lovegoed 9 minuten lezen Bijgewerkt 23 feb 2025
docker logs

Wilt u weten wat Docker-apps achter de schermen doen? Laten we eens kijken naar de verborgen informatiebron die bekend staat als logs: een venster in uw containers dat elke actie bijhoudt. Logs zijn onmisbaar bij het oplossen van problemen. Maar laten we eerst kort kijken wat Docker en Docker Compose zijn.

Met Docker kun je applicaties inpakken in kleine containers en ze op vrijwel elk besturingssysteem uitvoeren, zonder afhankelijkheden. Zie het als het stoppen van je apps in kleine doosjes, containers genaamd, die overal op dezelfde manier werken. Inzicht in containers is een belangrijke basiskennis voordat je aan de slag gaat met Docker Compose. Ik raad je daarom aan eerst onze blog te lezen over de voordelen van containerisatie.

Docker Compose wordt meegeleverd met Docker en maakt het ontwikkelen van meerdere gecontaineriseerde applicaties eenvoudiger door hun services, netwerken en opslag samen te koppelen. Docker-containerlogs en Docker Compose-logging geven developers inzicht in wat elke container doet.

Benieuwd naar Docker Compose-logs? Dan ben je hier aan het juiste adres. In deze blog leggen we de basis uit en behandelen we ook de meer geavanceerde aspecten. Ontdek hoe je Docker Compose optimaal inzet voor jouw projecten.

Het belang van Docker Compose-logs

Stel je voor: een developer start een app met Docker, maar slaat het instellen van Docker-logs over. In het begin lijkt alles prima te werken. Al snel stuiten gebruikers echter op fouten en wordt de app trager. Zonder Docker-logs heeft de developer geen zicht op wat er mis is gegaan in de Docker-containers. Docker Compose-logs zijn als een gedetailleerd logboek van die containers. Ze leggen alles vast wat er gebeurt, wat onmisbaar is voor het opsporen en oplossen van problemen.

Als developer of systeembeheerder moet je weten wat er binnen en tussen applicaties met meerdere services gebeurt. Daar komen Docker Compose-logs van pas. Maar waarom zijn deze logs eigenlijk nodig?

  • Probleemoplossing en foutopsporing

Controleer de docker logs wanneer een applicatie niet correct werkt of fouten geeft. Docker-logs zijn de eerste plek waar je kunt beginnen met het opsporen van een probleem. Door de docker logs te analyseren, kunnen developers de oorzaak van een probleem achterhalen, of het nu gaat om een bug in de code, een verkeerde configuratie of een resourceprobleem.

  • Applicatiestatus bewaken

Door applicatielogs regelmatig te bewaken, krijg je inzicht in de algehele gezondheid van je services. Logs kunnen vroege waarschuwingssignalen bevatten, zoals herhaalde fouten of trage reacties. Door deze patronen tijdig te herkennen, kun je toekomstige problemen voorkomen.

  • Audit en compliance

Voor applicaties die aan specifieke standaarden moeten voldoen, zijn docker logs het eerste bewijs dat aantoont of de applicatie zich aan de richtlijnen houdt. Deze logs spelen ook een cruciale rol bij het bewaken van geautoriseerde en ongeautoriseerde activiteiten.

  • Optimalisatie

Logs zijn waardevolle bronnen voor software-optimalisatie, omdat ze prestatiegegevens bevatten. Zo kunnen developers trage queries, inefficiënte codepaden of onderbenutte resources identificeren.

Een Docker-recept maken: een webserver deployen

In dit gedeelte maken we samen een Docker-recept. Om te beginnen met Docker Compose-logs, hebben we eerst iets nodig om mee te werken. We deployen hiervoor een webserver. Voer de volgende opdracht uit om een Dockerfile aan te maken nano Dockerfile in de gewenste map op je VPS, met de volgende inhoud, en sla het op:

 

FROM nginx:alpine
RUN rm /usr/share/nginx/html/index.html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Wat doet elke regel van deze code?

  • We beginnen met een lichtgewicht basisimage, nginx:alpine.
  • Vervolgens verwijderen we de standaard welkomstpagina van Nginx.
  • Daarna zorgen we ervoor dat de webserver luistert op poort 80.
  • Ten slotte starten we de Nginx-server met CMD.

Nu ons Dockerfile klaar is, gaan we verder met de volgende stap: het aanmaken van het Docker Compose-bestand. Dit is de structuur van de docker-compose.yml bestand:

version: '3.8'
services:
web:
build: .
ports:
- "8080:80"
volumes:
- ./index.html:/usr/share/nginx/html/index.html

Laten we het stap voor stap bekijken:

  • We gebruiken versie 3.8.
  • Op de volgende regel geven we onze service de naam "web“.
  • Vervolgens geven we Docker de opdracht om de webserver te bouwen vanuit de huidige map.
  • We koppelen poort 8080 op de host aan poort 80 in de container, zodat de webserver een verbinding kan opzetten.
  • Tot slot: de volumeconfiguratie index.html van de hostschijf naar de container. Later kun je een index.html bestand met de inhoud die je wilt en plaats het waar de Dockerfile en docker-compose.yml bestanden bestaan.

Nu is het tijd om onze Docker-container te starten met Docker Compose. We voeren simpelweg het volgende uit docker-compose up.

voer Docker container uit met Docker Compose

Zodra je de docker-compose up commando zal Docker de vereiste images van het internet downloaden en configureren zoals beschreven in onze configuratiebestanden.

Om te controleren of je webserver actief is, open je browser, voer het IP-adres van je VPS in en maak verbinding met poort 8080.

gedockeriseerde webpagina

Terzijde: je kunt ook gebruikmaken van docker-compose up -d om de container op de achtergrond te draaien.

Logs bekijken met Docker Compose

Nu is onze webserver klaar en actief. Hij genereert al logs en slaat deze informatie op voor later gebruik. Inzicht in je docker compose logs is onmisbaar voor het oplossen van problemen en het bewaken van je applicatie. Maar hoe lees je deze logs uit? Dat is precies waar docker-compose logs komt goed van pas. Zorg ervoor dat je je in de map bevindt waar de configuratie staat en voer het commando uit.

Logs bekijken met Docker Compose

Soms wil je de logs in realtime bekijken terwijl ze worden gegenereerd. Voeg hiervoor simpelweg -f toe aan het einde van het vorige commando en voer het uit docker-compose logs -f.

Logs bekijken met Docker Compose

Sommige op Docker gebaseerde applicaties geven mogelijk geen tijdstempels weer in hun logs. In dat geval kun je gebruikmaken van docker-compose logs -t om een geregistreerde tijd toe te voegen aan elke regel van het logboek.

Logs bekijken met Docker Compose

Docker Logs kunnen ook de meest recente vermeldingen weergeven. Gebruik hiervoor docker-compose logs –tail 10 om de laatste 10 logvermeldingen te bekijken. Docker composes logs tail, en op dezelfde manier is docker logs tail handig wanneer je recente activiteit snel wilt controleren zonder door de volledige loggeschiedenis te scrollen.

logs openen met docker compose

Het voornaamste gebruik van Docker Compose is het opzetten van multi-container applicaties. Mogelijk wil je daarom de logs van een specifieke service bekijken. Gebruik hiervoor docker-compose logs -f SERVICEI don't see any text to translate in your message. Could you please provide the English text you'd like me to translate to Dutch? SERVICE met de naam van jouw service.

logs openen met docker

Docker-registratie

Het Docker-ecosysteem kan complex worden bij geïntegreerde applicaties, zeker in grote omgevingen. Zoals bekend genereert elke container logs. Een mechanisme genaamd de Logging Driver is verantwoordelijk voor het ontvangen, doorsturen en opslaan van deze logs. Standaard gebruikt Docker JSON-bestanden voor de Logging Driver, maar er zijn ook andere drivers beschikbaar, elk met hun eigen voor- en nadelen.

Logs zijn onmisbaar voor uiteenlopende doeleinden, waaronder probleemoplossing en het verbeteren van systeemprestaties. Hieronder bespreken we twee van de belangrijkste toepassingen van containerlogs:

  • Controle: Logs dienen in de eerste plaats voor monitoring. Ze geven inzicht in de algehele gezondheid van je containerized applicaties.
  • Probleemoplossing: Bij problemen helpen logs je om fouten in de applicatie op te sporen.

Omdat docker logs en docker compose logs voortdurend worden gegenereerd, kunnen ze de volledige VPS-opslag vullen. Daarom is een strategie nodig voor het beheren van schijfruimte, het zogeheten Log Rotation Policy. Om dit beleid in te stellen, ga je terug naar het docker-compose.yml bestand en open je het. Voeg vervolgens een logging-sectie toe met de onderstaande configuratie:

version: '3.8'
services:
web:
build: .
ports:
- "8080:80"
volumes:
- ./index.htm:/usr/share/nginx/html/index.htm
logging:
driver: json-file
options:
max-size: "200k"
max-file: "10"

Je kunt max-size en max-file altijd aanpassen aan jouw behoeften.

Docker-logbezorgingsmodellen

In geavanceerdere omgevingen kiezen engineers soms voor een ander logmodel dan de standaard JSON-driver, zoals Syslog, fluentd of andere opties. Het is wel belangrijk te onthouden dat de JSON-file driver voor de meeste logscenario's geschikt is, en dat afwijken van de standaardinstelling vaak niet nodig is.

Afhankelijk van de architectuur van je applicatie of de eisen van je organisatie, kan het nodig zijn centrale logoplossingen te gebruiken, ook wel Log Aggregators genoemd. Diensten zoals Elasticsearch, Logstash, Kibana, enzovoort, zijn ontworpen om logs uit verschillende bronnen te ontvangen en deze op één centrale locatie samen te brengen, op te slaan en te analyseren.

Overweeg ook om logs op te slaan met kosteneffectievere opslagoplossingen. Stel dat je VPS gebruikmaakt van snelle en dure opslag: het is dan niet altijd economisch om zulke premium resources te gebruiken voor logs die je mogelijk alleen als naslagmateriaal bewaart.

Er zijn veel logmodellen beschikbaar, elk met hun eigen voor- en nadelen. Het is belangrijk elk model zorgvuldig te evalueren en er een te kiezen dat aansluit bij jouw specifieke behoeften.

Linux VPS Hosting

Kies een economy of premium Linux VPS voor het hosten van je website of remote desktop, tegen de scherpste prijs. VPS draait op Linux KVM voor hogere efficiëntie en maakt gebruik van krachtige hardware met NVMe SSD-opslag voor maximale snelheid.

Meer lezen

Conclusie

Inzicht in Docker Compose logs is essentieel voor het beheren en debuggen van je Docker applicaties. Door deze logs te raadplegen en te monitoren, los je problemen sneller op en verbeter je de prestaties en beveiliging van je app. Of je nu ontwikkelt of systemen beheert: Docker Compose logs zijn onmisbaar voor effectief containerbeheer.

Veelgestelde vragen

Hoe filter ik Docker Compose-logs op tijd?

Docker Compose biedt geen directe methode om logs op tijd te filteren. Je kunt logs wel filteren door ze via grep te pipen voor patroonovereenkomsten. Gebruik bijvoorbeeld: docker-compose logs | grep "2023-04-06", waarbij je "2023-04-06" vervangt door het specifieke datum- of tijdpatroon waarnaar je zoekt.

Hoe stop ik containers die zijn gestart met Docker Compose?

Ga naar de map die het docker-compose.yml-bestand bevat en voer het commando docker-compose down uit.

Hoe verwijder ik logbestanden handmatig?

In plaats van log rotation in te stellen in je docker-compose.yml-bestand, kun je Docker JSON-logbestanden handmatig verwijderen uit /var/lib/docker/containers/<container_id>/. Identificeer daarvoor eerst de Docker container ID met docker ps -a.

Kun je Docker-logs live volgen? 

Ja, dat kan. Gebruik hiervoor het commando docker logs met de optie -f of –follow. Hiermee volg je de logs van Docker in real time.

Delen

Meer van de blog

Verder lezen.

Een metalen container beschermd door een gloeiende neonblauwe wireframe-koepel, met de titel van het artikel en het Cloudzy-logo tegen een donkerblauwe achtergrond.
Ontwikkeltools & DevOps

De grootste Docker-beveiligingsfouten om te vermijden in 2026

Je kunt Docker maandenlang in productie draaien zonder een zichtbaar probleem. Containers starten, apps reageren, niets gaat stuk. Dan zorgt één blootgestelde poort of één verkeerd geconfigureerde machtiging voor

Rexa CyrusRexa Cyrus Lezen in 15 minuten
Een 3D gloeiende blauwe kubus-structuur die Docker-containers vertegenwoordigt, naast de tekst 'Portainer vs Yacht: Which Docker UI Should You Choose' en het Cloudzy-logo.
Ontwikkeltools & DevOps

Portainer vs Yacht: welke Docker-UI kies je in 2026?

Docker-containers beheren via de CLI werkt prima voor eenvoudige opstellingen, maar schaalt slecht. Naarmate het aantal containers groeit, wordt het handmatig bijhouden van statussen, logs en updates foutgevoelig

Rexa CyrusRexa Cyrus 13 minuten lezen
Doorlopende Integratietools
Ontwikkeltools & DevOps

De beste CI/CD-tools voor je DevOps-workflows in 2026

&nbsp; Softwareontwikkeling verandert sneller dan ooit. Wie niet wil achterblijven, doet er goed aan om DevOps-methodologieën en Agile te omarmen

Ada LovegoedAda Lovegoed 11 min lezen

Klaar om in te zetten? Vanaf $2.48/mnd.

Onafhankelijke cloud, sinds 2008. AMD EPYC, NVMe, 40 Gbps. 14 dagen geld-terug-garantie.