Ga naar hoofdinhoud

Alle Docker-containers stoppen: een stapsgewijze gids

Leer hoe je alle draaiende Docker-containers stopt met eenvoudige commando’s. Dit helpt je systeemresources te beheren en je Docker-omgeving te stroomlijnen.
Bijgewerkt 2 okt 2026  · 5 min lezen

Verken met AI

ChatGPTClaudePerplexity

Containers één voor één stoppen kan je ontwikkelworkflow vertragen en tot fouten leiden wanneer je met microservices of multi-containerapplicaties werkt. 

In deze gids behandel ik verschillende methoden om alle draaiende containers te beëindigen.

Aan het einde van deze tutorial kun je:  

  • Begrijpen hoe Docker omgaat met signalen en wachttijden (grace periods)
  • Alle containers stoppen met eenvoudige CLI-technieken en filters
  • Docker Compose en aangepaste aliassen inzetten voor gestroomlijnde workflows 

Begrijpen hoe Docker containers beëindigt

Voordat je containers in bulk stopt, is het handig te begrijpen hoe Docker onder de motorkap shutdowns orkestreert.

Signaalgestuurde procesafhandeling

Docker gebruikt Unix-signalen om eerst om een nette afsluiting te vragen voordat beëindiging wordt afgedwongen. Het standaardgedrag van het docker stop-commando is: 

  1. Stuur SIGTERM naar het hoofdproces van de container.  
  2. Wacht tot 10 seconden (instelbaar met -t/--time).  
  3. Stuur SIGKILL als het proces niet is gestopt.
  • SIGTERM: Vraagt het proces netjes op te ruimen en af te sluiten.  
  • Wachttijd (grace period): Geeft applicaties tijd om logs weg te schrijven, verbindingen te sluiten of status op te slaan.  
  • SIGKILL: Forceert onmiddellijke beëindiging van elk niet-reagerend proces.

Tijdlijn die de volgorde van Docker-stop-signalen illustreert: SIGTERM, wachten, daarna SIGKILL.

Mechaniek van de command-line interface (CLI)

Standaard handelt docker stop één container tegelijk af. Met shell-features kun je het uitbreiden om meerdere containers te stoppen.

# Stop een enkele container met de naam my_container
docker stop my_container

Dit stuurt SIGTERM naar my_container en wacht standaard 10 seconden voordat indien nodig SIGKILL wordt verzonden.

# Stop alle draaiende containers in één keer
docker stop $(docker ps -q)

Hier geeft docker ps -q de ID’s van alle draaiende containers; die ID’s worden doorgegeven aan docker stop, dat de containers achtereenvolgens afsluit.

Terminalsessie die docker ps -q doorstuurt naar docker stop om alle containers af te sluiten.

Schermafbeelding van een terminal waarin de output van docker ps -q wordt doorgegeven aan docker stop

Voor een uitgebreidere uitleg van deze concepten kun je Containerization and Virtualization Concepts verkennen.

Vergelijking tussen docker stop en docker kill

Kiezen tussen netjes of geforceerd beëindigen helpt onbedoelde gevolgen te voorkomen.

Nette vs. onmiddellijke beëindiging

Commando

Signaal/signalen

Gedrag

Gebruikssituatie

docker stop

SIGTERM → SIGKILL na timeout

Netjes afsluiten met tijd voor opruimen

Routinematig onderhoud of updates

docker kill

SIGKILL

Onmiddellijke beëindiging  

Noodherstel bij vastgelopen containers

Signalen aanpassen

Beide commando’s ondersteunen een --signal-vlag om standaarden te overschrijven:

# Stuur SIGINT in plaats van SIGTERM
docker stop --signal=SIGINT my_container

Hiermee kunnen processen SIGINT opvangen voor aangepaste opruimacties.

# Kill alle containers met SIGUSR1
docker kill --signal=SIGUSR1 $(docker ps -q)

Zoals hierboven te zien is, kun je aangepaste signalen gebruiken wanneer je applicatie specifieke shutdown-hooks implementeert.

Geavanceerde strategieën om containers te stoppen

Door te filteren en automatiseren kun je containers gerichter stoppen, vooral in grootschalige omgevingen.  

Zodra je de basis begrijpt, kun je verfijnen welke containers je stopt en hoe je het proces automatiseert.

Gefilterde beëindiging van containers

Met filters kun je containers targeten op kenmerken zoals imagenaam, status of labels:

# Stop containers die de image my_image:latest draaien
docker stop $(docker ps --filter "ancestor=my_image:latest" -q)

Bovenstaand commando stopt alleen containers op basis van my_image:latest, wat gerichte controle biedt in projecten met meerdere services.

Use-cases:  

  • Testcontainers stilleggen op imagetag (--filter "ancestor=test:latest")  
  • Containers stoppen op label (--filter "label=env=dev")

De output van docker ps filteren op ancestor-imagenaam voordat containers worden gestopt.

Terminal-schermafbeelding van het gebruik van docker ps --filter

Geautomatiseerde opschoning met Docker Compose

Als je services zijn gedefinieerd in een docker-compose.yml-bestand, stopt één commando alle gerelateerde containers:

docker-compose stop

Dit respecteert je servicedepedenties en ingestelde time-outs voor een nette afsluiting.

Voor geavanceerdere technieken kun je de cursus Intermediate Docker overwegen.

Workflowoptimalisatie met aliassen

Voor repetitieve taken verminderen shell-aliassen typwerk en contextswitching:

# Voeg dit toe aan ~/.bashrc of ~/.zshrc
alias ds='docker stop $(docker ps -q)'

Zodra je je shell herlaadt, stopt ds alle containers met één toetsaanslag—ideaal voor snelle opschoning.

Terminal met het succesvolle gebruik van een aangepaste 'ds'-alias om alle draaiende Docker-containers in Ubuntu WSL te stoppen.

De 'ds'-alias gebruiken om alle draaiende containers in Ubuntu WSL te stoppen

Operationele best practices

Implementeer veilige shutdownroutines en regelmatige opschoning om je omgeving stabiel en performant te houden.

  • Implementeer signaalhandlers in je applicatiecode om verbindingen te sluiten en logs weg te schrijven.  
  • Bewaar docker kill voor noodgevallen; voorkom dataconsistentieproblemen.  
  • Pas wachttijden (-t/--time) aan op basis van de opruimbehoeften van je applicatie.  
  • Automatiseer opschoning na het stoppen met commando’s als docker system prune, zoals uitgelegd in Docker Prune: A Complete Guide with Hands-On Examples.
  • Log afsluitevents (tijdstempels en exitcodes) om beëindigingsproblemen te diagnosticeren.

Veelvoorkomende problemen oplossen

Zelfs eenvoudige commando’s kunnen haperen—zo pak je ze aan.

Zombieprocessen en verweesde volumes

Geforceerde beëindigingen kunnen achtergebleven processen of verweesde volumes nalaten, die hostresources en schijfruimte verbruiken. Opschonen doe je zo:

# Verwijder zwevende volumes
docker volume prune

Dit verwijdert alle volumes waar geen container naar verwijst.

Controleer op aanhoudende Docker-daemonprocessen:

ps aux | grep dockerd

Beëindig handmatig eventuele achterblijvende dockerd-childprocessen als ze blijven bestaan.

Praktijkgeval: In een project gebruikte ik docker kill op een databasecontainer toen een migratie vastliep. De abrupte kill voorkwam dat de DB transactielogs kon wegschrijven, waardoor de InnoDB-tabellen corrupt raakten. We moesten backups terugzetten en binlogs opnieuw afspelen, wat meer dan 30 minuten downtime kostte. Voorkom dit door docker stop met een verlengde time-out te gebruiken of door juiste SIGTERM-handlers in je applicatie toe te voegen.

Permission denied-fouten

Docker-commando’s uitvoeren zonder de juiste rechten veroorzaakt vaak fouten:

  • Zet sudo voor je commando’s of draai als gebruiker in de docker-groep.  
  • Voeg je gebruiker toe aan de docker-groep en log opnieuw in:
sudo usermod -aG docker $USER

Na uit- en weer inloggen kun je Docker-commando’s zonder sudo uitvoeren. Zorg in een CI-omgeving dat de runner-gebruiker lid is van de Docker-groep om pipelinefouten te voorkomen.

Windows-specifieke aandachtspunten

Gebruik in Windows PowerShell haakjes om subcommando’s en voer uit als Administrator:

docker stop (docker ps -q)

PowerShell starten met verhoogde rechten voorkomt firewall- of toegangsproblemen. Als je TLS-handshakefouten ziet, controleer dan of de daemonconfiguratie van Docker Desktop overeenkomt met je PowerShell-omgeving.

Conclusie

Alle Docker-containers efficiënt stoppen bespaart tijd, spaart resources en minimaliseert menselijke fouten in je ontwikkelworkflow. Door te begrijpen hoe Docker signalen afhandelt, CLI-filters te benutten, Docker Compose te gebruiken en eenvoudige aliassen te maken, houd je een schone en voorspelbare omgeving. 

Verken het traject Containerization and Virtualization with Docker and Kubernetes of de cursus Intermediate Docker om je containerisatie-expertise te verdiepen.

Veel plezier met containerizen—op naar schone, efficiënte Docker-workflows!

FAQs

Welke exitcode geeft docker stop terug?

Bij succes geeft docker stop 0 terug. Een niet-niet-nul-exitcode geeft aan dat één of meer containers niet konden worden gestopt.

Kan ik vooraf zien welke containers worden gestopt voordat ik het commando uitvoer?

Ja—voer docker ps of docker ps -q uit om draaiende containers te tonen en ID’s of namen te verifiëren voordat je docker stop uitvoert.

Hoe beïnvloeden herstartbeleidsregels gestopte containers?

Containers met een herstartbeleid zoals always starten automatisch opnieuw na het stoppen. Verwijder of wijzig het beleid met docker update --restart=no <container> als je wilt dat ze gestopt blijven.

Is er een manier om containers per netwerk of volume te stoppen?

Hoewel Docker niet direct filtert op netwerk of volume bij docker stop, kun je docker ps --filter "network=<name>" of docker ps --filter "volume=<name>" combineren met commandosubstitutie.

Hoe kan ik docker stop integreren in een CI/CD-pipeline?

Neem het stop-commando op in je buildscripts of CI-jobs—gebruik vlaggen zoals --signal en filters voor gerichte shutdowns, en voer daarna opschoningscommando’s uit (docker system prune) in dezelfde pipeline.

Kan ik daarna alle gestopte containers opnieuw starten?

Ja, gebruik docker start $(docker ps -a -q) om alle containers, inclusief eerder gestopte, opnieuw te starten.

Worden containers verwijderd als ik ze allemaal stop?

Nee, containers stoppen verwijdert ze niet. Ze blijven op je systeem staan totdat je ze verwijdert met docker rm.

Hoe kan ik het dagelijks stoppen van containers automatiseren?

Gebruik een cronjob met het commando docker stop $(docker ps -q) om automatisch stoppen in te plannen.

Beïnvloedt docker stop volumes of netwerken?

Nee, docker stop beïnvloedt gekoppelde volumes of netwerken niet—die blijven intact.

Kan ik sommige containers uitsluiten van stoppen?

Je kunt containers selectief stoppen door docker ps met filters te gebruiken of specifieke container-ID’s uit het commando te houden.

Welke tools helpen containers te beheren naast CLI-commando’s?

Tools zoals Portainer of Docker Desktop bieden GUI-beheer en maken containercontrole makkelijker voor beginners.


Khalid Abdelaty's photo
Author
Khalid Abdelaty
LinkedIn

Ik ben een data-engineer en communitybouwer die werkt aan datapijplijnen, cloud en AI-tools, en tegelijkertijd praktische, impactvolle tutorials schrijft voor DataCamp en beginnende developers.

Onderwerpen
Docker

Leer meer over Docker met deze cursussen!

Cursus

Introductie tot Docker

4 uur
52.3K
Maak kennis met Docker en ontdek het belang ervan in de gereedschapskist van de data professional. Leer meer over Docker-containers, images en meer.
Bekijk detailsRight Arrow
Start Cursus
Meer bekijkenRight Arrow
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer BekijkenMeer Bekijken