Πώς να διαγράψετε όλες τις εικόνες Docker

Εάν χρειάζεστε μια ολοκληρωμένη πλατφόρμα κοντέινερ ανοιχτού κώδικα για τη δημιουργία ανεξαρτησίας μεταξύ εφαρμογών και υποδομών, το Docker είναι το ασφαλέστερο στοίχημά σας. Εάν είχατε την ευκαιρία να το χρησιμοποιήσετε, γνωρίζετε ήδη πόσο ικανό και εύκολο στη χρήση του είναι

Πώς να διαγράψετε όλες τις εικόνες Docker

Ένας μεγάλος αριθμός εταιρειών cloud και πληροφορικής το βρίσκουν εξαιρετικά χρήσιμο και η δημοτικότητά του σίγουρα αξίζει.

Ωστόσο, αυτό δεν το κάνει τέλειο. Η απόδειξη φαίνεται στους περιορισμούς που συνοδεύουν την αφαίρεση εικόνων, τόμων, κοντέινερ και δικτύων. Παρόλο που αυτές οι εντολές είναι διαθέσιμες, δεν είναι τόσο περιεκτικές όσο μπορεί να θέλουν οι χρήστες.

Εδώ θα δείτε τα κύρια προβλήματα που αντιμετωπίζουν οι χρήστες, καθώς και τις λύσεις για αυτά. Θα μάθετε πώς να αφαιρείτε εικόνες και κοντέινερ με εύκολο τρόπο.

Το θέμα

Η τεχνολογία κοντέινερ παρέχει έναν τρόπο οπτικοποίησης των λειτουργικών συστημάτων. Επιτρέπει σε μια εφαρμογή να συσκευαστεί με ό,τι χρειάζεται για να τρέξει, κάτι που της επιτρέπει να ενεργεί ανεξάρτητα από το λειτουργικό σύστημα.

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

Καθώς χρησιμοποιείτε το Docker, αυτές οι εικόνες συσσωρεύονται. Με την πάροδο του χρόνου, συσσωρεύεται ένας μεγάλος αριθμός αχρησιμοποίητων εικόνων, όγκων δεδομένων και κοντέινερ, δημιουργώντας ένα γεμάτο Docker περιβάλλον. Όταν συμβεί αυτό, είναι απαραίτητο να ανανεώσετε το περιβάλλον έτσι ώστε η πλατφόρμα να λειτουργεί όπως θα έπρεπε.

Υπάρχουν πολλές εντολές που μπορούν να το κάνουν αυτό, οπότε ας ρίξουμε μια ματιά στους κύριους τρόπους αποσυμφόρησης του περιβάλλοντος Docker σας.

Αφαίρεση εικόνων Docker

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

Δείτε πώς φαίνεται:

$ docker image #list τις πιο πρόσφατα δημιουργημένες εικόνες

Ή

$ docker image -a #list all images

Με τη δεύτερη εντολή, θα δείτε όλες τις εικόνες του docker σας. Το μόνο που έχετε να κάνετε είναι να βρείτε τις λεγόμενες «κρεμαστές εικόνες». Αυτές είναι όλες οι εικόνες Docker που δεν περιέχουν ετικέτα. Χωρίς την ετικέτα, δεν υπάρχει σύνδεση με τις εικόνες με ετικέτα, πράγμα που σημαίνει ότι δεν είναι πλέον χρήσιμες.

Μπορείτε να διαγράψετε μία ή περισσότερες εικόνες χρησιμοποιώντας το Image ID. Για να το κάνετε αυτό, χρησιμοποιήστε μία από αυτές τις εντολές:

$ docker rmi d65c4d6a3580 #remove one image

$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc #remove multiple images

Μια πιο βολική λύση είναι να χρησιμοποιήσετε τη σημαία φίλτρου -f για να παραθέσετε όλες τις κρέμονται εικόνες.

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

$ docker image prune #interactive αφαιρέστε τις κρέμονται εικόνες

Ή

$ docker rmi $(εικόνες αποβάθρας -q -f dangling=true)

Μπορείτε να αφαιρέσετε όλες τις εικόνες Docker με παρόμοιο τρόπο. Καταχωρίστε τα χρησιμοποιώντας την εντολή $ docker images –μια εντολή και, στη συνέχεια, αφαιρέστε τα χρησιμοποιώντας τα ακόλουθα:

$ (docker rmi $(εικόνες docker -a -q)

Μια άλλη επιλογή είναι να διαγράψετε τις εικόνες που ακολουθούν ένα συγκεκριμένο μοτίβο. Για να τα απαριθμήσετε, χρησιμοποιήστε την ακόλουθη εντολή:

$ εικόνες docker -a | grep "μοτίβο"

Στη συνέχεια, αφαιρέστε τα χρησιμοποιώντας:

$ εικόνες docker -a | grep "μοτίβο" | awk '{print $3}' | xargs docker rmi

Αφαίρεση δοχείων

Ένα άλλο πράγμα που ίσως θέλετε να κάνετε αφού εργαστείτε με το Docker για ορισμένο χρονικό διάστημα είναι να διαγράψετε ένα ή περισσότερα κοντέινερ.

Παρόμοια με την αφαίρεση εικόνων, πρέπει πρώτα να τις καταχωρίσετε χρησιμοποιώντας την ακόλουθη εντολή:

$ docker ps

Ή

$ docker ps -a

Όταν βρείτε τα κοντέινερ που θέλετε να αφαιρεθούν, χρησιμοποιήστε το αναγνωριστικό τους για να το κάνετε.

$ docker rm 0fd99ee0cb61 #remove a single container

$ docker rm 0fd99ee0cb61 0fd99ee0cb61 #remove multiple containers

Σε περίπτωση που το κοντέινερ που προσπαθείτε να αφαιρέσετε εκτελείται, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή για να το σταματήσετε:

$ docker stop 0fd99ee0cb61

$ docker rm -f 0fd99ee0cb61

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

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

$ docker container prune #interactive αφαιρέστε όλα τα σταματημένα δοχεία

Ή

$ docker rm $(docker ps -qa)

Αυτό θα σας επιτρέψει να ελευθερώσετε πολύτιμο χώρο στο δίσκο και να ξεκινήσετε από την αρχή.

Ο Τελικός Λόγος

Όπως μπορείτε να δείτε, η αφαίρεση εικόνων και κοντέινερ του Docker δεν είναι τόσο τρομακτική όσο μπορεί. Τώρα που γνωρίζετε αυτές τις εντολές, μπορείτε να έχετε περισσότερο έλεγχο στην εμπειρία σας στο Docker.

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