Android

Kako ukloniti spremnike, slike, sveske i mreže docker spremnika

Cómo cambiar la bomba de gasolina stratus 2000 (diagnóstico y fallas comunes)

Cómo cambiar la bomba de gasolina stratus 2000 (diagnóstico y fallas comunes)

Sadržaj:

Anonim

Docker vam omogućuje brzu izradu, testiranje i implementaciju aplikacija kao prijenosnih, samodovoljnih spremnika koji se mogu pokrenuti gotovo bilo gdje.

Docker ne uklanja neiskorištene predmete poput spremnika, slika, svezaka i mreža osim ako to izričito ne navedete. Dok radite s Docker-om, lako možete nakupljati veliki broj neiskorištenih objekata koji zauzimaju značajan prostor na disku i skupljaju izlaz proizveden pomoću Docker naredbi.

Ovaj vodič služi kao "varalica" kako bi pomogao korisnicima Dockera da organiziraju svoj sustav i oslobodi prostor na disku uklanjanjem neiskorištenih Docker spremnika, slika, svezaka i mreža.

Uklanjanje svih neiskorištenih objekata

Naredba docker system prune sve zaustavljene spremnike, sve viseće slike i sve neiskorištene mreže:

docker system prune

Zatražit će se da nastavite, pomoću zastave -f ili --force zaobići brzinu.

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

Uklanjanje spremnika docker

Docker spremnici se ne uklanjaju automatski kad ih zaustavite, osim ako spremnik ne pokrenete pomoću --rm zastave.

Uklonite jedan ili više spremnika

Za uklanjanje jedne ili više Docker slika upotrijebite naredbu docker container rm a slijedi ID spremnika koje želite ukloniti.

Popis svih spremnika možete dobiti ako predate -a zastavu na naredbu docker container ls :

docker container ls -a

Izlaz bi trebao izgledati ovako:

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

Nakon što saznate CONTAINER ID spremnika koje želite izbrisati, prenesite ga na naredbu docker container rm . Na primjer, za uklanjanje prva dva spremnika navedena u izlazu iznad pokrenite:

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.

Uklonite sve zaustavljene spremnike

Prije izvršavanja naredbe uklanjanja možete dobiti popis svih neispunjenih (zaustavljenih) spremnika koji će biti uklonjeni pomoću sljedeće naredbe:

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

Za uklanjanje svih zaustavljenih spremnika upotrijebite naredbu docker container prune :

docker container prune

Zatražit će se da nastavite, pomoću zastave -f ili --force zaobići brzinu.

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

Uklonite spremnike pomoću filtera

Naredba docker container prune omogućuje vam uklanjanje spremnika na temelju stanja pomoću zastave za filtriranje --filter .

U vrijeme pisanja ovog članka trenutno podržani filtri su until i label . Možete koristiti više filtera upotrebom višestrukih --filter zastava.

Na primjer, da biste uklonili sve slike nastale prije više od 12 sati, pokrenite:

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

Zaustavite i uklonite sve spremnike

Možete dobiti popis svih Docker spremnika na vašem sustavu pomoću naredbe docker container ls -aq .

Za zaustavljanje svih pokrenutih spremnika upotrijebite naredbu docker container stop a zatim popis svih ID-ova spremnika.

docker container stop $(docker container ls -aq)

Nakon što su svi spremnici zaustavljeni, možete ih ukloniti pomoću naredbe docker container rm a slijedi popis ID spremnika.

docker container rm $(docker container ls -aq)

Uklanjanje Docker slika

Uklonite jednu ili više slika

Za uklanjanje jedne ili više Dockerovih slika pomoću naredbe docker images ls pronađite ID slika koje želite ukloniti.

docker image ls

Izlaz bi trebao izgledati ovako:

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

Nakon što locirate slike koje želite ukloniti, proslijedite njihov IMAGE ID na naredbu docker image rm . Na primjer, za uklanjanje prve dvije slike navedene u izlazu iznad:

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

Uklonite viseće slike

Docker pruža naredbu docker image prune koja se može koristiti za uklanjanje neiskorištenih i nekorištenih slika.

Klatna slika je slika koja nije označena i ne koristi je nijedan spremnik. Za uklanjanje visećih slika upišite:

docker image prune

Zatražit će se da nastavite, pomoću zastave -f ili --force zaobići brzinu.

WARNING! This will remove all dangling images. Are you sure you want to continue? y Pri uklanjanju visećih slika, ako slike koje napravite sami niste označene, one će se također ukloniti.

Uklonite sve neiskorištene slike

Da biste uklonili sve slike na koje ne upućuje nijedan postojeći spremnik, ne samo prikazivani, upotrijebite naredbu prune sa zastavicom -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

Uklonite slike pomoću filtera

Pomoću naredbe docker image prune , također možete ukloniti slike na temelju određenog stanja pomoću zastave za filtriranje --filter .

U vrijeme pisanja ovog članka trenutno podržani filtri su until i label . Možete koristiti više filtera upotrebom višestrukih --filter zastava.

Na primjer, da biste uklonili sve slike nastale prije više od 12 sati, pokrenuli biste:

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

Uklanjanje volumena Docker-a

Uklonite jedan ili više svezaka

Za uklanjanje jednog ili više Docker volumena upotrijebite naredbu docker volume ls da biste pronašli ID volumena koji želite ukloniti.

docker volume ls

Izlaz bi trebao izgledati ovako:

DRIVER VOLUME NAME local 4e12af8913af888ba67243dec78419bf18adddc3c7a4b2345754b6db64293163 local terano

Nakon što ste pronašli VOLUME NAME volumena koje želite ukloniti, proslijedite ih naredbi docker volume rm . Na primjer, za uklanjanje prvog volumena navedenog u izlazu iznad, pokrenite:

docker volume rm 4e12af8913af888ba67243dec78419bf18adddc3c7a4b2345754b6db64293163

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

Uklonite sve neiskorištene količine

Za uklanjanje svih neiskorištenih volumena koristite naredbu docker image prune :

docker volume prune

Zatražit će se da nastavite, pomoću zastave -f ili --force zaobići brzinu.

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

Uklanjanje Docker mreža

Uklonite jednu ili više mreža

Za uklanjanje jedne ili više Docker mreža pomoću naredbe docker network ls pronađite ID mreža koje želite ukloniti.

docker network ls

Izlaz bi trebao izgledati ovako:

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

Nakon što pronađete mreže koje želite ukloniti, proslijedite njihov NETWORK ID na naredbu docker network rm . Na primjer za uklanjanje mreže s imenom my-bridge-network run:

docker network rm c520032c3d31

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

Uklonite svu nekorišćenu mrežu

Za uklanjanje svih neiskorištenih mreža koristite naredbu docker network prune .

docker network prune

Zatražit će se da nastavite, pomoću zastave -f ili --force zaobići brzinu.

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

Uklonite mreže pomoću filtera

Pomoću naredbe za --filter možete ukloniti mreže na temelju stanja pomoću zastave za filtriranje --filter .

U vrijeme pisanja ovog članka trenutno podržani filtri su until i label . Možete koristiti više filtera upotrebom višestrukih --filter zastava.

Na primjer, da biste uklonili sve mreže koje su stvorene prije više od 12 sati, pokrenite:

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

Zaključak

U ovom smo priručniku pokazali neke uobičajene naredbe za uklanjanje Docker spremnika, slika, svezaka i mreža.

Provjerite i službenu dokumentaciju Dockera.

lučki radnik