Con­tai­ners nemen schijf­ruim­te en bronnen op uw host­sys­teem in beslag. Door con­tai­ners die u niet langer nodig hebt te ver­wij­de­ren, kunt u waar­de­vol­le op­slag­ruim­te vrijmaken en de pres­ta­ties van uw systeem ver­be­te­ren.

Wanneer moet je Docker-con­tai­ners ver­wij­de­ren?

Docker-con­tai­ners zijn ge­ï­so­leer­de, uit­voer­ba­re eenheden die ap­pli­ca­ties en hun af­han­ke­lijk­he­den bevatten. In ver­schil­len­de situaties is het zinvol om Docker-con­tai­ners te ver­wij­de­ren om ervoor te zorgen dat uw Docker-omgeving zo efficiënt, veilig en be­heers­baar mogelijk is.

Al­ler­eerst moet u con­tai­ners ver­wij­de­ren zodra ze hun doel hebben gediend. Als een container zijn spe­ci­fie­ke taak of proces met succes heeft voltooid, heeft het geen zin om deze in uw omgeving te houden. Zo voorkomt u dat inactieve con­tai­ners onnodig resources en ruimte in beslag nemen.

Het is ook een goed idee om con­tai­ners te ver­wij­de­ren die niet actief worden gebruikt of al lang niet meer zijn bij­ge­werkt. Dit is vooral be­lang­rijk om vei­lig­heids­ri­si­co’s te mi­ni­ma­li­se­ren, aangezien oudere con­tai­ners ver­ou­der­de soft­wa­re­ver­sies of be­vei­li­gings­lek­ken kunnen bevatten.

Als u zich zorgen maakt over de vei­lig­heid van een container of vermoedt dat deze ge­com­pro­mit­teerd is, moet u deze on­mid­del­lijk ver­wij­de­ren. Hetzelfde geldt voor con­tai­ners die vanwege con­flic­ten of andere problemen niet kunnen worden gestart.

Hoe verwijder je een of meer Docker-con­tai­ners?

Het ver­wij­de­ren van een of meer spe­ci­fie­ke Docker-con­tai­ners is een veel­voor­ko­mend proces wanneer het gaat om het ver­wij­de­ren van onnodige of inactieve con­tai­ners van de Docker-host.

Stap 1: Container-ID’s of namen weergeven

Eerst moet u de ID’s of namen van de con­tai­ners die u wilt ver­wij­de­ren ach­ter­ha­len. U kunt de volgende opdracht gebruiken om een lijst met alle actieve en gestopte con­tai­ners weer te geven:

docker ps -a
bash

Stap 2: Verwijder de container

U kunt een­vou­dig­weg de container-ID’s of -namen invoeren, ge­schei­den door spaties, na het commando docker rm:

docker rm container_id_or_name1 container_id_or_name2
bash

Hoe een Docker-container ver­wij­de­ren bij het afsluiten

Om een container au­to­ma­tisch te ver­wij­de­ren nadat deze is af­ge­slo­ten, stelt u de vlag --rm in wanneer u de container start met het commando docker run. Deze vlag zorgt ervoor dat de container au­to­ma­tisch wordt ver­wij­derd zodra deze klaar is.

docker run --rm image_name
bash

Hoe alle af­ge­slo­ten Docker-con­tai­ners te ver­wij­de­ren

Het is ook mogelijk om alle af­ge­slo­ten con­tai­ners in één keer te ver­wij­de­ren door de con­tai­ners op basis van hun status te filteren en ze te ver­wij­de­ren met behulp van het rm -commando.

Stap 1: Lijst met af­ge­slo­ten con­tai­ners

Met optie -f status=exited kunt u de con­tai­ner­lijst filteren om alleen de af­ge­slo­ten con­tai­ners weer te geven.

docker ps -a -f status=exited
bash

Stap 2: Verwijder lege con­tai­ners

We gebruiken de uitvoer van de vorige stap om de ID’s van de af­ge­slo­ten con­tai­ners te ver­krij­gen en geven deze recht­streeks door aan het docker rm -commando.

docker rm $(docker ps -a -f status=exited -q)
bash

Hoe alle Docker-con­tai­ners met meer dan één filter te ver­wij­de­ren

Je kunt Docker-con­tai­ners met meer dan één filter ver­wij­de­ren door het docker ps -commando samen met de fil­ter­op­ties te gebruiken en de uitvoer ver­vol­gens door te geven aan het docker rm.

Stap 1: Con­tai­ners met filters weergeven

Eerst voeren we het commando docker ps in met de fil­ter­op­ties om een lijst van de con­tai­ners te ver­krij­gen volgens de gewenste criteria. Created is een andere se­lec­teer­ba­re status naast exited. Con­tai­ners met de status created zijn con­tai­ners die zijn aan­ge­maakt maar nog niet zijn uit­ge­voerd.

docker ps -a -f status=exited -f status=created
bash

Stap 2: Verwijder de Docker-container

Net als in het bo­ven­staan­de voorbeeld geven we de uitvoer door aan docker rm.

docker rm $(docker ps -a -f status=exited -f status=created -q)
bash

Hoe Docker-con­tai­ners volgens een patroon te ver­wij­de­ren

Alle Docker-con­tai­ners vinden die aan een bepaald patroon voldoen en ze ver­vol­gens ver­wij­de­ren met awk, xargs en docker rm is een ef­fi­ci­ën­te manier om con­tai­ners selectief te ver­wij­de­ren.

Stap 1: Maak een lijst van alle con­tai­ners met een patroon

Als u het commando docker ps -a in com­bi­na­tie met grep gebruikt, krijgt u alle con­tai­ners met namen of tags die aan een specifiek patroon voldoen. U kunt bij­voor­beeld alle con­tai­ners weergeven waarvan de naam begint met ‘test-’:

docker ps -a | grep "test-"
bash

Stap 2: Docker-con­tai­ners ver­wij­de­ren

Met het commando awk kunt u spe­ci­fie­ke kolommen uit het uit­voer­re­sul­taat se­lec­te­ren. Hier willen we de eerste kolom ex­tra­he­ren die de container-ID’s bevat. We kunnen xargs gebruiken om de ID’s door te geven aan het commando docker rmi en de Docker-con­tai­ners te ver­wij­de­ren.

docker ps -a | grep "test-" | awk '{print $1}' | xargs docker rmi
bash

Hoe alle Docker-con­tai­ners te stoppen en te ver­wij­de­ren

U kunt alle actieve en inactieve con­tai­ners op uw systeem in één keer stoppen en ver­wij­de­ren. Dit kan handig zijn als u uw Docker-omgeving grondig wilt opschonen.

Stap 1: Maak een lijst van alle con­tai­ners

Voer de volgende opdracht in om de lijst met con­tai­ners te con­tro­le­ren:

docker ps -a
bash

Stap 2: Stop de con­tai­ners

Als je klaar bent, stuur je de uitvoer door naar docker stop. Hierdoor worden alle con­tai­ners gestopt.

docker stop $(docker ps -a -q)
bash

Stap 3: Docker-con­tai­ners ver­wij­de­ren

Nadat alle con­tai­ners zijn gestopt, kunt u ze ver­wij­de­ren met het commando docker rm:

docker rm $(docker ps -a -q)
bash

In te­gen­stel­ling tot normale Docker-con­tai­ners zijn Docker-container volumes me­cha­nis­men die ge­ge­vens­per­sis­ten­tie en het delen van gegevens tussen con­tai­ners en het host­sys­teem mogelijk maken.

In onze digitale gids vindt u andere Docker-tutorials, waaronder hoe u een Docker-volume ver­wij­dert en hoe u een Docker-image ver­wij­dert.

Ga naar hoofdmenu