Anonim

Als u op zoek bent naar een uitgebreid, open-source containerplatform voor het creëren van onafhankelijkheid tussen apps en infrastructuur, is Docker uw veiligste gok. Als je de kans hebt gehad om het te gebruiken, weet je al hoe capabel en gemakkelijk te gebruiken is

Een groot aantal cloud- en IT-bedrijven vinden het uiterst nuttig en zijn populariteit is absoluut 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 dat ze zijn.

Hier ziet u de belangrijkste problemen die gebruikers tegenkomen, evenals de oplossingen voor hen. U leert op een eenvoudige manier hoe u afbeeldingen en containers 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.

Containerafbeeldingen zijn zelfstandige 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 beelden zich op. Na verloop van tijd wordt een groot aantal ongebruikte afbeeldingen, gegevensvolumes en containers verzameld, waardoor een overvolle Docker-omgeving ontstaat. Wanneer dit gebeurt, is het noodzakelijk om de omgeving te vernieuwen zodat het platform naar behoren functioneert.

Er zijn meerdere opdrachten die dit mogelijk kunnen maken, dus laten we eens kijken naar de belangrijkste manieren om uw Docker-omgeving vrij te maken.

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 in uw systeem te vermelden met behulp van de opdracht voor afbeeldingsbeheer.

Zo ziet het eruit:

$ docker image #list the most recently created images

Of

$ docker image -a #list all images

Met de tweede opdracht ziet u al uw afbeeldingen in het koppelvenster. Het enige wat u 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 verband 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 #remove a single image

$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc #remove multiple images

Een handiger oplossing is om de vlag -f filter te gebruiken om alle hangende afbeeldingen weer te geven.

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

$ docker image prune #interactively remove dangling images

Of

$ docker rmi $(docker images -q -f dangling=true)

U kunt alle Docker-afbeeldingen op dezelfde manier verwijderen. Maak een lijst van ze met de opdracht $ docker images –a en verwijder ze vervolgens met behulp van het volgende:

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

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

$ docker images -a | grep "pattern"

Verwijder ze vervolgens met behulp van:

$ docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi

Containers verwijderen

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

Net als bij het verwijderen van afbeeldingen, moet u ze eerst vermelden met 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 #remove a single container

$ docker rm 0fd99ee0cb61 0fd99ee0cb61 #remove multiple 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 de volgende opdrachten:

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

$ docker container prune #interactively remove all stopped containers

Of

$ docker rm $(docker ps -qa)

Hiermee kunt u waardevolle schijfruimte vrijmaken en opnieuw beginnen.

Het laatste woord

Zoals u ziet, is het verwijderen van Docker-afbeeldingen en containers niet zo ontmoedigend als het zou kunnen zijn. Nu u deze opdrachten kent, kunt u meer controle hebben over uw Docker-ervaring.

Natuurlijk zijn dit slechts enkele van de opdrachten en u kunt een verscheidenheid aan andere combinaties gebruiken. Toch zullen deze het werk prima doen, dus voel je vrij om ze uit te proberen.

Hoe alle docker-afbeeldingen te verwijderen