Zoeken op website

Docker-afbeeldingen, containers en volumes verwijderen


Docker is een open-source, krachtig, veilig, betrouwbaar en efficiënt containerplatform dat realistische onafhankelijkheid tussen applicaties en infrastructuur mogelijk maakt. Het wordt op grote schaal toegepast door IT- en cloudbedrijven om eenvoudig applicaties te creëren, implementeren en uitvoeren.

Een container is een technologie voor het visualiseren van besturingssystemen, waarmee een applicatie kan worden verpakt met alles wat nodig is om deze uit te voeren, zodat deze onafhankelijk van het besturingssysteem kan draaien. Een containerimage is een op zichzelf staand, uitvoerbaar pakket van een applicatie dat alles bevat wat nodig is om de applicatie uit te voeren: code, runtime, systeemtools en bibliotheken, evenals configuraties.

We hebben al een serie over Docker besproken, waarin wordt uitgelegd hoe je Docker installeert, applicaties in containers uitvoert en automatisch docker-images bouwt met dockerfile.

  1. Installeer Docker en leer de basismanipulatie van containers in CentOS en RHEL 7/6
  2. Applicaties implementeren en uitvoeren in Docker Containers op CentOS/RHEL 7/6
  3. Bouw en configureer automatisch Docker-images met Dockerfile op CentOS/RHEL 7/6
  4. Hoe u een eenvoudige Apache-webserver in een Docker-container instelt

In dit artikel leggen we uit hoe u docker-images, containers en volumes verwijdert via de docker-opdrachtregeltool in Linux-systemen.

Docker-afbeeldingen verwijderen

Voordat u docker-images verwijdert, kunt u alle bestaande images op uw systeem weergeven met de opdracht Image Management.

docker image	        #list the most recently created images
OR
docker image -a 	#list all images

Als we naar de uitvoer in de volgende schermafbeelding kijken, hebben we enkele afbeeldingen zonder tag (waarin in plaats daarvan wordt weergegeven). Deze worden “bungelende afbeeldingen” genoemd. Ze hebben geen enkele relatie meer met getagde afbeeldingen; ze zijn niet meer bruikbaar en verbruiken alleen schijfruimte.

U kunt een of meer oude of ongebruikte Docker-images verwijderen met behulp van bijvoorbeeld de ID van de afbeelding (waarbij d65c4d6a3580 de afbeeldings-ID is).

docker rmi d65c4d6a3580 				#remove a single image
docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc	#remove multiple images

U kunt hangende afbeeldingen (niet-gelabelde afbeeldingen) weergeven met behulp van de filtervlag -f, zoals weergegeven.

docker images -f dangling=true	

Gebruik een van deze opdrachten om alle bungelende afbeeldingen te verwijderen, zodat u verspilde schijfruimte kunt terugwinnen.

docker image prune		#interactively remove dangling images
OR
docker rmi $(docker images -q -f dangling=true)

Gebruik de volgende opdracht om alles te verwijderen dat niet aan een container is gekoppeld.

docker image prune -a 	

Hoe Docker-containers te verwijderen

U kunt beginnen met het weergeven van alle docker-containers op uw systeem met behulp van de volgende opdracht.

docker ps
OR
docker ps -a  

Nadat u de container(s) die u wilt verwijderen heeft geïdentificeerd, kunt u deze bijvoorbeeld aan de hand van hun ID verwijderen.

docker rm 0fd99ee0cb61		#remove a single container
docker rm 0fd99ee0cb61 0fd99ee0cb61   #remove multiple containers

Als een container actief is, kunt u deze eerst stoppen en verwijderen, zoals weergegeven.

docker stop 0fd99ee0cb61
docker rm -f 0fd99ee0cb61

U kunt een container ook geforceerd verwijderen terwijl deze actief is, door de vlag --force of -f toe te voegen. Hierdoor wordt er een < sterk>SIGKILL signaal zoals weergegeven.

docker rm -f 0fd99ee0cb61

U kunt containers ook verwijderen met behulp van filters. Gebruik deze opdracht om bijvoorbeeld alle afgesloten containers te verwijderen.

docker rm $(docker ps -qa --filter "status=exited")

Gebruik de volgende opdrachten om alle containers te stoppen en te verwijderen.

docker stop $(docker ps -a -q)	#stop all containers
docker container prune		#interactively remove all stopped containers
OR
docker rm $(docker ps -qa)

Hoe Docker-volumes te verwijderen

Begin net als voorheen met het weergeven van alle docker-volumes op uw systeem met de opdracht volumebeheer, zoals weergegeven.

docker volume ls

Om een of meer volumes te verwijderen, gebruikt u de volgende opdracht (houd er rekening mee dat u een volume dat in gebruik is door een container niet kunt verwijderen).

docker volume rm volume_ID 	           #remove a single volume 
docker volume rm volume_ID1 volume_ID2   #remove multiple volumes

Gebruik de vlag -f om de verwijdering van een of meer volumes te forceren.

docker volume rm -f volume_ID

Gebruik de volgende opdracht om bungelende volumes te verwijderen.

docker volume rm $(docker volume ls  -q --filter dangling=true)

Voer de volgende opdracht uit om alle ongebruikte lokale volumes te verwijderen. Hiermee worden volumes interactief verwijderd.

docker volume prune	

Hoe ongebruikte of bungelende afbeeldingen, containers, volumes en netwerken te verwijderen

Met één enkele opdracht kunt u alle bungelende en niet-gerefereerde gegevens verwijderen, zoals gestopte containers en afbeeldingen zonder containers. Standaard worden volumes niet verwijderd, om te voorkomen dat vitale gegevens worden verwijderd als er momenteel geen container is die het volume gebruikt.

docker system prune

Om volumes te snoeien, voegt u eenvoudig de vlag --volumes toe aan de onderstaande opdracht, zoals weergegeven.

docker system prune --volumes

Opmerking: om het docker-opdrachtregelprogramma uit te voeren zonder de opdracht sudo, moet u bijvoorbeeld een gebruiker toevoegen aan de docker-groep.

sudo usermod -a -G docker aaronkilik

Zie voor meer informatie de helppagina voor de bovenstaande docker-objectbeheeropdrachten.

docker help
docker image help   
docker container help   
docker volume help   

Dat is het voor nu! In dit artikel hebben we uitgelegd hoe u docker-images, containers en volumes kunt verwijderen via de docker-opdrachtregeltool. Als u vragen of gedachten heeft, kunt u het onderstaande feedbackformulier gebruiken om ons te bereiken.