Hoe alle Docker-afbeeldingen te verwijderen

Als je een uitgebreid, open-source containerplatform nodig hebt om onafhankelijkheid tussen apps en infrastructuur te creëren, is Docker de veiligste keuze. Als je de kans hebt gehad om het te gebruiken, weet je al hoe capabel en gemakkelijk te gebruiken het is

Hoe alle Docker-afbeeldingen te verwijderen

Een groot aantal cloud- en IT-bedrijven vindt het buitengewoon nuttig, en de populariteit is zeker verdiend.

Toch maakt dit het niet perfect. Het bewijs is te zien in de beperkingen die gepaard gaan met het verwijderen van afbeeldingen, volumes, containers en netwerken. Hoewel deze opdrachten beschikbaar zijn, zijn ze niet zo uitgebreid als de gebruikers zouden willen.

Hier ziet u de belangrijkste problemen die gebruikers tegenkomen, evenals de oplossingen daarvoor. U leert hoe u afbeeldingen en containers op een eenvoudige manier kunt verwijderen.

Het probleem

Containertechnologie biedt een manier om besturingssystemen te visualiseren. Hiermee kan een app worden verpakt met alles wat nodig is om deze uit te voeren, waardoor deze onafhankelijk van het besturingssysteem kan werken.

Container-images zijn op zichzelf staande uitvoerbare app-pakketten die alles bevatten wat nodig is om een ​​app goed te laten werken. Runtime, code, configuraties en systeemtools en bibliotheken zijn opgenomen in elke afbeelding.

Terwijl u Docker gebruikt, stapelen deze afbeeldingen zich op. Na verloop van tijd wordt een groot aantal ongebruikte images, datavolumes en containers verzameld, waardoor een overvolle Docker-omgeving ontstaat. Wanneer dit gebeurt, is het noodzakelijk om de omgeving te vernieuwen, zodat het platform werkt zoals het hoort.

Er zijn meerdere commando's die dit mogelijk maken, dus laten we eens kijken naar de belangrijkste manieren om uw Docker-omgeving op te ruimen.

Docker-afbeeldingen verwijderen

Voordat u de onnodige afbeeldingen kunt verwijderen, moet u ze onderscheiden van de nuttige. Dit kan eenvoudig worden gedaan door alle afbeeldingen op uw systeem op te sommen met behulp van de afbeeldingsbeheeropdracht.

Hier is hoe het eruit ziet:

$ docker-afbeelding #lijst de meest recent gemaakte afbeeldingen

Of

$ docker-afbeelding -a #lijst alle afbeeldingen

Met de tweede opdracht ziet u al uw docker-afbeeldingen. Het enige wat je hoeft te doen is de zogenaamde ‘bungelende afbeeldingen’ te vinden. Dit zijn allemaal Docker-afbeeldingen die geen tag bevatten. Zonder de tag is er geen verbinding met de getagde afbeeldingen, wat betekent dat ze niet meer bruikbaar zijn.

U kunt een of meer afbeeldingen verwijderen met behulp van de afbeeldings-ID. Gebruik hiervoor een van deze opdrachten:

$ docker rmi d65c4d6a3580 #verwijder een enkele afbeelding

$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc #verwijder meerdere afbeeldingen

Een handiger oplossing is om de -f filtervlag te gebruiken om alle bungelende afbeeldingen weer te geven.

Gebruik een van de volgende opdrachten om deze afbeeldingen te verwijderen en schijfruimte op te ruimen:

$ docker afbeelding snoeien #interactief bungelende afbeeldingen verwijderen

Of

$ docker rmi $ (docker-afbeeldingen -q -f bungelend=true)

U kunt alle Docker-afbeeldingen op een vergelijkbare manier verwijderen. Lijst ze op met behulp van de $ docker-afbeeldingen -a commando en verwijder ze vervolgens door het volgende te gebruiken:

$ (docker rmi $(docker-afbeeldingen -a -q)

Een andere optie is om de afbeeldingen die een bepaald patroon volgen te verwijderen. Gebruik de volgende opdracht om ze op te sommen:

$ docker-afbeeldingen -a | grep "patroon"

Verwijder ze vervolgens met behulp van:

$ docker-afbeeldingen -a | grep "patroon" | awk '{print $3}' | xargs docker rmi

Containers verwijderen

Een ander ding dat u misschien wilt doen nadat u een bepaalde tijd met Docker hebt gewerkt, is een of meer containers verwijderen.

Net als bij het verwijderen van afbeeldingen, moet u ze eerst opsommen met behulp van de volgende opdracht:

$ docker ps

Of

$ docker ps -a

Wanneer u de containers vindt die u wilt verwijderen, gebruikt u hun ID om dit te doen.

$ docker rm 0fd99ee0cb61 #verwijder een enkele container

$ docker rm 0fd99ee0cb61 0fd99ee0cb61 #verwijder meerdere containers

Als de container die u probeert te verwijderen actief is, kunt u de volgende opdracht gebruiken om deze te stoppen:

$ docker-stop 0fd99ee0cb61

$ docker rm -f 0fd99ee0cb61

Ten slotte kunt u alle onnodige containers stoppen en verwijderen met behulp van de volgende opdrachten:

$ docker stop $(docker ps -a -q) #stop alle containers

$ docker container snoeien #interactief alle gestopte containers verwijderen

Of

$ docker rm $(docker ps -qa)

Hierdoor kunt u waardevolle schijfruimte vrijmaken en opnieuw beginnen.

Het laatste woord

Zoals u kunt zien, is het verwijderen van Docker-afbeeldingen en containers niet zo ontmoedigend als het zou kunnen zijn. Nu je deze commando's kent, heb je meer controle over je Docker-ervaring.

Dit zijn natuurlijk maar enkele van de commando's, en u kunt een groot aantal andere combinaties gebruiken. Toch zullen deze het werk prima doen, dus probeer ze gerust uit.