Πώς μπορώ να διορθώσω το Docker δεν έχει απομείνει χώρος στη συσκευή;

How Do I Fix Docker No Space Left Device



Για να χρησιμοποιήσετε επιτυχώς τα προγράμματα οδήγησης αποθήκευσης, πρέπει πρώτα να καταλάβετε πώς δημιουργεί και αποθηκεύει εικόνες το Docker και πώς τα κοντέινερ χρησιμοποιούν αυτές τις εικόνες. Μπορείτε να χρησιμοποιήσετε αυτά τα δεδομένα για να λάβετε τεκμηριωμένες αποφάσεις σχετικά με τη βελτίωση των δεδομένων από τις εφαρμογές σας, αποφεύγοντας παράλληλα προβλήματα απόδοσης. Τα προγράμματα οδήγησης αποθήκευσης σάς επιτρέπουν να γράφετε δεδομένα στο εγγράψιμο επίπεδο του περιέκτη σας. Αφού καταστραφεί το κοντέινερ, τα αρχεία δεν αποθηκεύονται και ο ρυθμός ανάγνωσης και εγγραφής είναι πιο αργός από την απόδοση της εφαρμογής εγγενών αρχείων. Μπορεί να θέλετε να καθαρίσετε τον σκληρό δίσκο του συστήματός σας για να κάνετε λήψη και εκτέλεση της εικόνας Docker. Ωστόσο, εάν δεν έχετε αρκετό χώρο στο σκληρό σας δίσκο, θα μπορούσατε να λάβετε το σφάλμα: δεν απομένει χώρος στη συσκευή. Όταν ο διακομιστής σας είναι φραγμένος με αρχεία σκουπιδιών, μπορεί να επηρεάσει την επιβράδυνση του υπολογιστή. Θα χρειαστεί να ανακτήσετε μια συγκεκριμένη ποσότητα χώρου για να το διορθώσετε. Η μηχανή κοντέινερ Dot cloud απαιτεί σχετικά απλή δέσμη ενεργειών για την εκκαθάριση του χώρου αποθήκευσης. Αυτό το ζήτημα συνήθως υποδεικνύει ότι το Docker εξαντλείται. Το/var/lib/docker είναι το μέρος όπου αποθηκεύει τα δεδομένα του. Αυτός ο κατάλογος πρέπει να έχει επαρκή ελεύθερο χώρο σε οποιοδήποτε σύστημα αρχείων είναι τοποθετημένο. Σε αυτό το σεμινάριο, θα μάθετε διαφορετικές μεθόδους για να διορθώσετε το Docker χωρίς χώρο στη συσκευή.

Προαπαιτούμενα

Για να διορθώσετε το Docker δεν έχει απομείνει χώρος στη συσκευή, πρέπει να χρησιμοποιήσετε το σύστημα Linux Ubuntu 20.04 και εγκατάσταση docker σε αυτό. Εάν το Docker δεν είναι εγκατεστημένο, μπορείτε να το κάνετε με τη βοήθεια της παρακάτω εντολής στο τερματικό







$sudoκατάλληλοςεγκαθιστώdocker.io

Μέθοδος για να διορθώσετε το Docker δεν απομένει χώρος στη συσκευή

Πρέπει να συνδεθείτε μέσω του χρήστη sudo και να ανοίξετε το τερματικό της γραμμής εντολών ελέγχοντας το στην περιοχή εφαρμογών του λειτουργικού σας συστήματος ή χρησιμοποιώντας το πλήκτρο συντόμευσης Ctrl+Alt+T. Μόλις ανοίξει, ακολουθήστε όλες αυτές τις μεθόδους που περιγράφονται σε αυτό το άρθρο.



Μέθοδος 1: Docker System Prune

Η εντολή 'docker system prune' χρησιμοποιείται για την εξάλειψη ή τη διαγραφή μη χρησιμοποιημένων αντικειμένων ή δεδομένων, συμπεριλαμβανομένων εικόνων, κοντέινερ, τόμων και δικτύων. Αυτά τα αντικείμενα δεν διαγράφονται αν δεν τα αφαιρέσουμε συνειδητά. Ακόμα κι έτσι, στο docker 17.06.1 ή νεότερο, πρέπει να απαιτήσουμε τη δυνατότητα «–τόμων» για να αφαιρέσουμε τους τόμους. Εξαλείφει τόσο τις κρεμαστές όσο και τις μη αναφερόμενες εικόνες. Ωστόσο, μόνο από προεπιλογή αφαιρούνται οι κρεμαστές εικόνες. Το 'docker system prune' μπορεί να χρησιμοποιηθεί μόνο με έκδοση API πελάτη και δαίμονα 1.25 ή νεότερη. Τώρα εκτελέστε την αναφερόμενη εντολή:



$sudoσύστημα dockerκλαδεύω





Πρέπει να δώσετε τον κωδικό πρόσβασης χρήστη sudo για την επιτυχή εκτέλεσή του. Κατά την εκτέλεση, θα λάβετε την ακόλουθη προειδοποίηση, όπως φαίνεται στην συνημμένη εικόνα. Πρέπει να πληκτρολογήσετε y για να συνεχίσετε τη διαδικασία. Όταν εφαρμόζουμε την εντολή «docker system prune», στέλνει ένα αίτημα API στον δαίμονα Docker, το οποίο αναζητά όλα τα αχρησιμοποίητα στοιχεία στον κεντρικό υπολογιστή και τα εξαλείφει από το σύστημα. Δεδομένου ότι οι προηγούμενες εκδόσεις του Docker αφαίρεσαν όλα τα αντικείμενα, συμπεριλαμβανομένων των τόμων, προστέθηκε η επιλογή «–τόμοι».

Μέθοδος 2: Αφαίρεση κρεμασμένων εικόνων

Η εντολή έντασης ήχου στο Docker μπορεί να χρησιμοποιηθεί για να επιτευχθεί αυτό. Επειδή αυτό διαγράφει οποιονδήποτε κατάλογο ή φάκελο στο/var/lib/docker/volumes που δεν είναι τόμος, πρέπει να διασφαλίσετε ότι δεν αποθηκεύονται εκεί σημαντικά έγγραφα. Κατά τη δημιουργία μιας εικόνας Docker, συνήθως υπάρχουν πολλά στρώματα εικόνων. Τα στρώματα που δεν έχουν καμία αναφορά σε οποιαδήποτε εικόνα με ετικέτα αναφέρονται ως εικόνες που κρέμονται. Οι κρεμασμένες εικόνες καταλαμβάνουν χώρο αποθήκευσης αλλά δεν κάνουν τίποτα. Για να δείτε μια λίστα με όλους τους τόμους, χρησιμοποιήστε την εντολή:



$sudoένταση dockerls

Χρησιμοποιήστε την ακόλουθη εντολή για να λάβετε μια λίστα με όλους τους έντονους τόμους:

$sudoένταση dockerls–Qfκρέμονται=αληθής

Πρέπει να δώσετε τον κωδικό πρόσβασης χρήστη sudo για την επιτυχή εκτέλεσή του.

Μέθοδος 3: Αφαίρεση ορφανών τόμων

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

$ένταση dockerrm

Συμπέρασμα:

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