Voorwaarde: Dokwerker
In Dokwerker Als we een container hebben verlaten zonder deze te stoppen, moeten we deze handmatig stoppen, omdat deze bij het verlaten niet is gestopt. Op dezelfde manier moeten we ze voor afbeeldingen van boven naar beneden verwijderen, omdat sommige containers of afbeeldingen afhankelijk kunnen zijn van de basisafbeeldingen. We kunnen de basisafbeelding op elk gewenst moment downloaden op. Het is dus een goed idee om ongewenste of hangende afbeeldingen van de huidige machine te verwijderen.
Hoe verwijder ik de afbeeldingen in Docker?
Afbeelding verwijderen
Om de afbeelding te verwijderen met de ImageId/Name kunnen we de volgende opdracht gebruiken. Voor meer informatie over het bouwen van een docker-image met behulp van Dockerfile raadpleegt u Concept Dockerfile.
docker rmi>
Afbeelding geforceerd verwijderen
Om de docker-afbeeldingen geforceerd te verwijderen via de ImageID/Name kunnen we de volgende opdracht gebruiken.
netwerken en typen
docker rmi -f>
Opmerking: We kunnen de afbeeldingen niet met geweld of normaal verwijderen terwijl de container actief is.
Bungelende afbeeldingen
Bungelende afbeeldingen zijn afbeeldingen die niet aan de repository of de tag zijn gekoppeld. Het gebruikte commando is om de bungelende afbeeldingen te verwijderen. Voor meer informatie over het taggen van Docker-afbeeldingen door te verwijzen naar Docker-afbeeldingstags.
docker image prune>
Alle afbeeldingen verwijderen
We kunnen alle afbeeldingen in de docker-machine verwijderen om ongewenste rommel en ruimte in het systeem te verwijderen. We kunnen hoe dan ook de nieuwste versie of een specifieke versie-image ophalen uit het docker-register of uit de cache.
docker rmi $(docker images -q)>
Hoe containers in Docker te verwijderen
Voordat we de containers verwijderen, moeten we eerst de container stoppen, daarvoor gebruiken we de opdracht.
docker stop>
Het verschil tussen Docker Stop en Docker Kill
Docker stop verzendt eerst een SIGTERM-signaal voordat het proces wordt beëindigd met een SIGKILL-signaal en een respijtperiode. Wanneer Docker kill SIGKILL verzendt, wordt het proces onmiddellijk beëindigd.
- Stop alle actieve containers: Om de containers tegen te houden die niet zijn vertrokken. Dit kan gebeuren wanneer de opdracht die in de Docker-image wordt gebruikt, actief blijft. Het commando moet worden verlaten en dit zal op zijn beurt de container stoppen. Om de container te stoppen wanneer u de container niet hebt verlaten door de opdracht te stoppen, moet u de volgende opdracht uitvoeren.
docker stop $(docker ps -aq)>
- Verwijder de container: Als de container wordt gestopt, kunnen we de volgende opdracht gebruiken om de container te verwijderen.
docker rm>
- Forceer het verwijderen van de container: We kunnen de containers geforceerd verwijderen terwijl ze actief zijn zonder ze te stoppen door de onderstaande opdracht te gebruiken.
docker rm -f>
Verwijder alle containers
Om alle containers van de docker-machine te verwijderen, hebben we de ID's van alle containers nodig. We kunnen eenvoudig de ID's van de containers verkrijgen met de opdracht docker ps-aq , en vervolgens kunnen we met behulp van de opdracht docker rm alle containers in de docker-machine verwijderen.
docker rm $(docker ps -aq)>
Verwijder alle gestopte containers
Om alle containers te verwijderen die zijn gestopt/verlaten, kunnen we filters gebruiken in het ps-opdrachtargument. We kunnen een container niet direct verwijderen als deze niet wordt tegengehouden. We kunnen containers stoppen die niet zijn afgesloten of actief zijn door het -f argument te gebruiken voor de ps opdracht in docker, de -f of –filter optie neemt een filter in zoals status=exited of status=running of name enzovoort. We kunnen eruit filteren om de specifieke containers tegen te houden op basis van de vereisten.
terwijl lus Java
docker rm $(docker ps -aq --filter status='exited')>
Nadat we de actieve container hebben uitgefilterd, kunnen we de opdracht stop gebruiken om die containers te stoppen met de -q om de numerieke ID's die aan die containers zijn gekoppeld, uit te schakelen.
docker stop $(docker ps --filter status=running -q)>
Hierdoor worden alle containers gestopt en kunnen we nu de containers uit de docker-machine verwijderen. We kunnen zelfs de containers filteren die hier zijn gestopt om alleen de containers te verwijderen waarvan de status is verlaten.
docker rm $(docker ps --filter status=exited -q)>
- Met het onderstaande commando zijn alle containers verwijderd die zich in de bestaande staat bevinden. Dat betekent dat de containers zijn gestopt.
docker container prune>