Android

Πώς να αφαιρέσετε τα δοχεία, τις εικόνες, τους τόμους και τα δίκτυα

How to Sneak Candy in Class! School Pranks and 15 DIY Edible School Supplies!

How to Sneak Candy in Class! School Pranks and 15 DIY Edible School Supplies!

Πίνακας περιεχομένων:

Anonim

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

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

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

Αφαίρεση όλων των αχρησιμοποίητων αντικειμένων

Η εντολή docker system prune θα αφαιρέσει όλα τα δοχεία που έχουν σταματήσει, όλες τις εικόνες που βρίσκονται σε κίνηση και όλα τα αχρησιμοποίητα δίκτυα:

docker system prune

Θα σας ζητηθεί να συνεχίσετε, χρησιμοποιήστε τη σημαία -f ή --force για να παρακάμψετε την προτροπή.

WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all dangling images - all build cache Are you sure you want to continue?

docker system prune --volumes

WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all volumes not used by at least one container - all dangling images - all build cache Are you sure you want to continue? y

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

Τα δοχεία docker δεν καταργούνται αυτόματα όταν τα σταματήσετε, εκτός αν ξεκινήσετε το δοχείο χρησιμοποιώντας τη σημαία --rm .

Αφαιρέστε ένα ή περισσότερα δοχεία

Για να καταργήσετε μία ή περισσότερες εικόνες Docker, χρησιμοποιήστε την εντολή docker container rm ακολουθούμενη από το αναγνωριστικό των δοχείων που θέλετε να καταργήσετε.

Μπορείτε να πάρετε μια λίστα όλων των εμπορευματοκιβωτίων περνώντας τη σημαία -a στην εντολή docker container ls :

docker container ls -a

Η έξοδος θα πρέπει να φαίνεται κάπως έτσι:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cc3f2ff51cab centos "/bin/bash" 2 months ago Created competent_nightingale cd20b396a061 solita/ubuntu-systemd "/bin/bash -c 'exec …" 2 months ago Exited (137) 2 months ago systemd fb62432cf3c1 ubuntu "/bin/bash" 3 months ago Exited (130) 3 months ago jolly_mirzakhani

Μόλις γνωρίζετε το CONTAINER ID των εμπορευματοκιβωτίων που θέλετε να διαγράψετε, μεταβείτε στην εντολή docker container rm . Για παράδειγμα, για να αφαιρέσετε τα πρώτα δύο κοντέινερ που αναφέρονται στην έξοδο παραπάνω:

docker container rm cc3f2ff51cab cd20b396a061

Error response from daemon: You cannot remove a running container fc983ebf4771d42a8bd0029df061cb74dc12cb174530b2036987575b83442b47. Stop the container before attempting removal or force remove.

Αφαιρέστε όλα τα δοχεία σταματημένα

Πριν εκτελέσετε την εντολή κατάργησης, μπορείτε να λάβετε μια λίστα όλων των κοντέινερ που δεν εκτελούνται (σταματημένα) που θα καταργηθούν χρησιμοποιώντας την ακόλουθη εντολή:

docker container ls -a --filter status=exited --filter status=created

Για να καταργήσετε όλα τα δοχεία που έχουν σταματήσει, χρησιμοποιήστε την εντολή docker container prune :

docker container prune

Θα σας ζητηθεί να συνεχίσετε, χρησιμοποιήστε τη σημαία -f ή --force για να παρακάμψετε την προτροπή.

WARNING! This will remove all stopped containers. Are you sure you want to continue? y

Αφαιρέστε τα δοχεία με φίλτρα

Η εντολή docker container prune σας επιτρέπει να αφαιρέσετε τα δοχεία με βάση τις συνθήκες χρησιμοποιώντας το φίλτρο --filter .

Κατά τη στιγμή της σύνταξης αυτού του άρθρου, τα φίλτρα που υποστηρίζονται αυτήν τη στιγμή είναι until και label . Μπορείτε να χρησιμοποιήσετε περισσότερα από ένα φίλτρα χρησιμοποιώντας σημαίες πολλαπλών --filter .

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

docker container prune --filter "until=12h"

Σταματήστε και αφαιρέστε όλα τα δοχεία

Μπορείτε να πάρετε μια λίστα με όλα τα δοχεία Docker στο σύστημά σας χρησιμοποιώντας την docker container ls -aq .

Για να σταματήσετε όλα τα τρέχοντα δοχεία, χρησιμοποιήστε την εντολή docker container stop ακολουθούμενη από μια λίστα με όλα τα αναγνωριστικά εμπορευματοκιβωτίων.

docker container stop $(docker container ls -aq)

Μόλις σταματήσουν όλα τα εμπορευματοκιβώτια, μπορείτε να τα καταργήσετε χρησιμοποιώντας την εντολή docker container rm ακολουθείται από τη λίστα αναγνωριστικών δοχείων.

docker container rm $(docker container ls -aq)

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

Καταργήστε μία ή περισσότερες εικόνες

Για να καταργήσετε μία ή περισσότερες εικόνες του Docker, χρησιμοποιήστε την εντολή docker images ls για να βρείτε το αναγνωριστικό των εικόνων που θέλετε να αφαιρέσετε.

docker image ls

Η έξοδος θα πρέπει να φαίνεται κάπως έτσι:

REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 75835a67d134 7 days ago 200MB ubuntu latest 2a4cca5ac898 2 months ago 111MB linuxize/fedora latest a45d6dca3361 3 months ago 311MB java 8-jre e44d62cf8862 3 months ago 311MB

Μόλις εντοπίσετε τις εικόνες που θέλετε να αφαιρέσετε, μεταβείτε στο IMAGE ID στην εντολή docker image rm . Για παράδειγμα, για να καταργήσετε τις δύο πρώτες εικόνες που αναφέρονται στην έξοδο παραπάνω:

docker image rm 75835a67d134 2a4cca5ac898

Error response from daemon: conflict: unable to remove repository reference "centos" (must force) - container cd20b396a061 is using its referenced image 75835a67d134

Αφαιρέστε τις εικόνες

Το Docker παρέχει μια εντολή docker image prune που μπορεί να χρησιμοποιηθεί για την αφαίρεση μώλωπες και αχρησιμοποίητων εικόνων.

Μια εικόνα που κρέμεται είναι μια εικόνα που δεν έχει επισημανθεί και δεν χρησιμοποιείται από κανένα κοντέινερ. Για να καταργήσετε την εμφάνιση των τύπων εικόνων:

docker image prune

Θα σας ζητηθεί να συνεχίσετε, χρησιμοποιήστε τη σημαία -f ή --force για να παρακάμψετε την προτροπή.

WARNING! This will remove all dangling images. Are you sure you want to continue? y Κατά την αφαίρεση των κουνουμένων εικόνων, εάν οι εικόνες που δημιουργούνται από εσάς δεν έχουν επισημανθεί, θα αφαιρεθούν επίσης.

Καταργήστε όλες τις εικόνες που δεν έχουν χρησιμοποιηθεί

Για να καταργήσετε όλες τις εικόνες που δεν αναφέρονται από κανένα υπάρχον δοχείο, όχι μόνο τις κουνιστές, χρησιμοποιήστε την εντολή prune με τη σημαία -a :

docker image prune -a

WARNING! This will remove all images without at least one container associated to them. Are you sure you want to continue? y

Αφαιρέστε τις εικόνες χρησιμοποιώντας φίλτρα

Με την εντολή docker image prune , μπορείτε επίσης να αφαιρέσετε εικόνες με βάση μια συγκεκριμένη συνθήκη χρησιμοποιώντας το φίλτρο --filter .

Κατά τη στιγμή της σύνταξης αυτού του άρθρου, τα φίλτρα που υποστηρίζονται αυτήν τη στιγμή είναι until και label . Μπορείτε να χρησιμοποιήσετε περισσότερα από ένα φίλτρα χρησιμοποιώντας σημαίες πολλαπλών --filter .

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

docker image prune -a --filter "until=12h"

Αφαίρεση τόμων υποδοχής

Καταργήστε έναν ή περισσότερους τόμους

Για να καταργήσετε έναν ή περισσότερους τόμους Docker, χρησιμοποιήστε την εντολή docker volume ls για να βρείτε το αναγνωριστικό των τόμων που θέλετε να καταργήσετε.

docker volume ls

Η έξοδος θα πρέπει να φαίνεται κάπως έτσι:

DRIVER VOLUME NAME local 4e12af8913af888ba67243dec78419bf18adddc3c7a4b2345754b6db64293163 local terano

Μόλις βρείτε το VOLUME NAME των τόμων που θέλετε να καταργήσετε, τα μεταφέρετε στην εντολή docker volume rm . Για παράδειγμα, για να αφαιρέσετε τον πρώτο τόμο που αναγράφεται στην παραπάνω έκδοση, εκτελέστε:

docker volume rm 4e12af8913af888ba67243dec78419bf18adddc3c7a4b2345754b6db64293163

Error response from daemon: remove 4e12af8913af888ba67243dec78419bf18adddc3c7a4b2345754b6db64293163: volume is in use -

Καταργήστε όλους τους μη χρησιμοποιημένους τόμους

Για να καταργήσετε όλους τους μη χρησιμοποιημένους τόμους, χρησιμοποιήστε την εντολή docker image prune :

docker volume prune

Θα σας ζητηθεί να συνεχίσετε, χρησιμοποιήστε τη σημαία -f ή --force για να παρακάμψετε την προτροπή.

WARNING! This will remove all local volumes not used by at least one container. Are you sure you want to continue?

Αφαίρεση των Δικτύων Docker

Καταργήστε ένα ή περισσότερα δίκτυα

Για να καταργήσετε ένα ή περισσότερα δίκτυα Docker, χρησιμοποιήστε την εντολή docker network ls για να βρείτε το αναγνωριστικό των δικτύων που θέλετε να καταργήσετε.

docker network ls

Η έξοδος θα πρέπει να φαίνεται κάπως έτσι:

NETWORK ID NAME DRIVER SCOPE 107b8ac977e3 bridge bridge local ab998267377d host host local c520032c3d31 my-bridge-network bridge local 9bc81b63f740 none null local

Μόλις εντοπίσετε τα δίκτυα που θέλετε να καταργήσετε, περάστε το NETWORK ID στην εντολή docker network rm . Για παράδειγμα, για να καταργήσετε το δίκτυο με το όνομα my-bridge-network run:

docker network rm c520032c3d31

Error response from daemon: network my-bridge-network id 6f5293268bb91ad2498b38b0bca970083af87237784017be24ea208d2233c5aa has active endpoints

Καταργήστε όλα τα αχρησιμοποίητα δίκτυα

Χρησιμοποιήστε την εντολή docker network prune για να καταργήσετε όλα τα αχρησιμοποίητα δίκτυα.

docker network prune

Θα σας ζητηθεί να συνεχίσετε, χρησιμοποιήστε τη σημαία -f ή --force για να παρακάμψετε την προτροπή.

WARNING! This will remove all networks not used by at least one container. Are you sure you want to continue?

Καταργήστε τα δίκτυα χρησιμοποιώντας φίλτρα

Με την εντολή docker network prune μπορείτε να αφαιρέσετε δίκτυα βάσει των συνθηκών χρησιμοποιώντας το φίλτρο --filter .

Κατά τη στιγμή της σύνταξης αυτού του άρθρου, τα φίλτρα που υποστηρίζονται αυτήν τη στιγμή είναι until και label . Μπορείτε να χρησιμοποιήσετε περισσότερα από ένα φίλτρα χρησιμοποιώντας σημαίες πολλαπλών --filter .

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

docker network prune -a --filter "until=12h"

συμπέρασμα

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

Θα πρέπει επίσης να ελέγξετε την επίσημη τεκμηρίωση του Docker.

λιμενεργάτης