Επιστροφή στο blog

Καθαρισμός πόρων Docker – Εικόνες, κοντέινερ και τόμοι

Καθαρισμός πόρων Docker – Εικόνες, κοντέινερ και τόμοι

Docker είναι ένα από τα πιο δημοφιλή προϊόντα σε οργανισμούς στις μέρες μας. Καθιστά τη διαδικασία διαχείρισης εφαρμογών σε containers πολύ εύκολη. Το Docker παρέχει φορητότητα, απόδοση, ευελιξία, επεκτασιμότητα και απομόνωση στις εφαρμογές, καθώς χρησιμοποιεί containers. Τα containers είναι πιο φορητά και απαιτούν λιγότερους πόρους από τις εικονικές μηχανές. Καθώς εργάζεστε με το Docker, τείνετε να συσσωρεύετε υπερβολικό αριθμό μη χρησιμοποιούμενων images, volumes και containers. Αυτοί οι πόροι θα γεμίσουν το output και θα καταναλώσουν πολύ χώρο στο δίσκο. Σε αυτόν τον οδηγό, θα μάθετε πώς να καθαρίζετε τους πόρους του Docker και να οργανώνετε τον διακομιστή σας.

Εκκαθάριση όλων

Μπορείτε να καθαρίσετε όλους τους πόρους του Docker, συμπεριλαμβανομένων των images, των σταματημένων containers, των volumes και των δικτύων με μία μόνο εντολή. Μπορείτε να επιλέξετε μία από τις παρακάτω επιλογές:

Αναφορά: Οι dangling πόροι είναι αυτοί που δεν σχετίζονται με κανένα εκτελούμενο container.

Επιλογή 1:
Αυτό θα καταργήσει:
– όλα τα σταματημένα containers
– όλα τα δίκτυα που δεν χρησιμοποιούνται από τουλάχιστον ένα container
– όλα τα dangling images
– όλη τη dangling build cache

Επιλογή 2:
Αυτό θα καταργήσει:
– όλα τα σταματημένα containers
– όλα τα δίκτυα που δεν χρησιμοποιούνται από τουλάχιστον ένα container
– όλα τα images που δεν σχετίζονται με τουλάχιστον ένα container
– όλη τη build cache

Επιλογή 3:
Αυτό θα καταργήσει:
– όλα τα σταματημένα containers
– όλα τα δίκτυα που δεν χρησιμοποιούνται από τουλάχιστον ένα container
– όλα τα volumes που δεν χρησιμοποιούνται από τουλάχιστον ένα container
– όλα τα images που δεν σχετίζονται με τουλάχιστον ένα container
– όλη τη build cache

docker prune options

Κατάργηση Docker Images

Για να καταργήσετε ένα συγκεκριμένο image, πρέπει να γνωρίζετε το image ID του. Μπορείτε να βρείτε το image ID ενός Docker container χρησιμοποιώντας την εντολή “docker images”, όπως εξηγείται στον οδηγό μας για πώς να εγκαταστήσετε & να λειτουργήσετε το Docker στο Ubuntu.

Λίστα images:
Κατάργηση image:
docker rmi

Κατάργηση Dangling Images:

Όταν δημιουργείτε ένα Docker image, αυτό γενικά αποτελείται από διάφορα επίπεδα εικόνων. Τα dangling images είναι τα επίπεδα που δεν σχετίζονται με κανένα tagged image. Τα dangling images καταναλώνουν χώρο στο δίσκο αλλά δεν εξυπηρετούν κανέναν σκοπό. Μπορούν να εμφανιστούν σε λίστα χρησιμοποιώντας την εντολή:

Μπορείτε να καταργήσετε αυτά τα images εκτελώντας την ακόλουθη εντολή:

Κατάργηση images με βάση μοτίβο

Μπορείτε εύκολα να βρείτε images με βάση ένα συγκεκριμένο μοτίβο χρησιμοποιώντας την εντολή “grep” και στη συνέχεια να τα καταργήσετε περνώντας τα στην εντολή “docker rmi” χρησιμοποιώντας το “awk”. Μπορείτε να χρησιμοποιήσετε τις ακόλουθες εντολές και να αντικαταστήσετε το “pattern” σε καθεμία από αυτές:

Λίστα:
Κατάργηση:
Κατάργηση όλων των εικόνων

Μπορείτε να δείτε τη λίστα με όλες τις εικόνες docker χρησιμοποιώντας την εντολή:

Μόλις αποφασίσετε να τις καταργήσετε όλες, μπορείτε να χρησιμοποιήσετε αυτήν την εντολή για να τις διαγράψετε όλες:

 

Κατάργηση κοντέινερ:

Τώρα που εκκαθαρίσατε όλες τις περιττές εικόνες, ήρθε η ώρα να διαγράψετε μερικά από τα κοντέινερ που δεν απαιτούνται.

Για να δείτε τη λίστα των κοντέινερ, μπορείτε να χρησιμοποιήσετε την εντολή:

Για να καταργήσετε τα κοντέινερ, χρησιμοποιήστε την εντολή:

docker rm container
Προσωρινή εκτέλεση κοντέινερ

Αν θέλετε να εκτελέσετε το κοντέινερ μόνο μία φορά, μπορείτε να επιλέξετε να διαγραφεί αυτόματα μόλις τερματιστεί. Μπορείτε να το κάνετε αυτό χρησιμοποιώντας την εντολή:

Κατάργηση τερματισμένων κοντέινερ

Μπορείτε να φιλτράρετε τα τερματισμένα κοντέινερ χρησιμοποιώντας το όρισμα “-f”. Δείτε τη λίστα των τερματισμένων κοντέινερ χρησιμοποιώντας την εντολή:

Τώρα που τα φιλτράρατε, καταργήστε τα χρησιμοποιώντας αυτήν την εντολή:

Κατάργηση κοντέινερ βάσει μοτίβου

Μπορείτε εύκολα να βρείτε κοντέινερ βάσει ενός συγκεκριμένου μοτίβου χρησιμοποιώντας την εντολή “grep” και στη συνέχεια να τα καταργήσετε περνώντας τα στην εντολή “docker rm” χρησιμοποιώντας την “awk”. Μπορείτε να χρησιμοποιήσετε τις ακόλουθες εντολές και να αντικαταστήσετε το “pattern” σε καθεμία από αυτές.

Λίστα:
Κατάργηση:
Διακοπή και κατάργηση όλων των κοντέινερ

Πριν το κάνετε αυτό, ελέγξτε όλα τα κοντέινερ στον διακομιστή σας εμφανίζοντάς τα σε λίστα. Μόνο αφού βεβαιωθείτε ότι θέλετε να τα διαγράψετε, εκτελέστε τις ακόλουθες εντολές:

Εμφάνιση της λίστας των κοντέινερ προς έλεγχο:

Διακοπή και κατάργηση:

Κατάργηση τόμων

Κατάργηση συγκεκριμένου τόμου

Για να καταργήσετε έναν συγκεκριμένο τόμο, πρέπει να γνωρίζετε το όνομα του τόμου. Για να το βρείτε αυτό, μπορείτε να δείτε τη λίστα των τόμων.

Λίστα:
Κατάργηση:
docker volume rm
Κατάργηση ορφανών τόμων

Όταν καταργείτε ένα κοντέινερ, ο τόμος που είναι συνδεδεμένος σε αυτό δεν καταργείται αυτόματα. Ένας τέτοιος τόμος ονομάζεται ορφανός τόμος (dangling volume). Για να εντοπίσετε τέτοιους τόμους, χρησιμοποιήστε το όρισμα φίλτρου στην εντολή:

Για να καταργήσετε όλους αυτούς τους ορφανούς τόμους, χρησιμοποιήστε την εντολή:

 

Κατάργηση ενός κοντέινερ και του ανώνυμου τόμου του

Αν δημιουργήσατε έναν ανώνυμο ή μη κατονομαζόμενο τόμο κατά την εκτέλεση του κοντέινερ, μπορείτε να τον καταργήσετε μαζί με το κοντέινερ χρησιμοποιώντας μία μόνο εντολή. Ωστόσο, αν ο τόμος είναι κατονομαζόμενος, τότε θα διαγραφεί μόνο το κοντέινερ.

 

Τώρα που έχετε αυτόν τον οδηγό γρήγορης αναφοράς (cheat sheet), θα πρέπει να είστε έτοιμοι να εκκαθαρίσετε τους πόρους Docker που δεν απαιτούνται στον διακομιστή σας.

Καλή συνέχεια!

author

Akshay Nagpal

Συγγραφέας · CloudSigma

Ο Preslav Dobrev είναι Δημιουργικός Σχεδιαστής στην CloudSigma, με εστίαση στη συνεπή επιχειρηματική ταυτότητα μέσω παραδοσιακών και καινοτόμων καναλιών μάρκετινγκ. Διαθέτει την ικανότητα να συνδυάζει το καλλιτεχνικό όραμα με το στρατηγικό μάρκετινγκ για τη δημιουργία εντυπωσιακών αφηγήσεων επωνυμίας.

Σχόλια

Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.