GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak odebrat obrázky, kontejnery, sítě a svazky dockeru

Úvod

Kontejnery Docker jsou navrženy tak, aby poskytovaly soběstačné prostředí se všemi knihovnami a konfiguracemi potřebnými pro spuštění softwaru. Během vývoje mohou růst neorganizovaně se starými, zastaralými a nepoužívanými součástmi.

V této příručce se dozvíte, jak uspořádat prostředí Dockeru odebráním obrázků, kontejnerů, svazků a sítí Dockeru.

Pomocí těchto příkazů je správa kontejnerů Docker rychlá a přímočará.

Předpoklady

  • Systém Linux se systémem Docker
  • Přístup k terminálu/příkazovému řádku (Ctrl +Alt +T na Ubuntu, Alt +F2 na CentOS)
  • Uživatelský účet s sudo privilegia

Jak odebrat kontejnery Docker

Kontejner vytváří specifické prostředí, ve kterém lze proces spustit. Během životního cyklu vývoje je vytvořeno, testováno a opuštěno mnoho kontejnerů.

Proto je důležité vědět, jak najít nepotřebné nádoby a odstranit je.

Zastavit kontejnery

1. Nejprve vytvořte seznam všech kontejnerů Docker pomocí příkazu:

docker container ls -a

Výstup zobrazuje seznam všech běžících kontejnerů, jejich ID, názvy, obrázky, stav a další parametry.

Můžete také vygenerovat seznam všech kontejnerů pouze podle jejich číselných ID, spusťte příkaz:

docker container ls -aq 

2. Chcete-li zastavit konkrétní kontejner , zadejte následující:

docker container stop [container_id]

Nahraďte [container_id] s číselným ID kontejneru z vašeho seznamu.

Do stejného příkazu můžete zadat více ID kontejnerů.

Chcete-li zastavit všechny kontejnery , zadejte:

docker container stop $(docker container ls -aq)

To přinutí Docker použít seznam všech ID kontejnerů jako cíl stop příkaz.

Odstranění zastaveného kontejneru

Chcete-li odstranit zastavený kontejner , použijte příkaz:

docker container rm [container_id]

Stejně jako dříve se tímto odebere kontejner s ID, které zadáte.

Odstranit všechny zastavené kontejnery

Chcete-li odstranit všechny zastavené kontejnery :

docker container rm $(docker container ls -aq)

Odebrat všechny kontejnery Docker

Chcete-li Docker vyčistit a začít od začátku, zadejte příkaz:

docker container stop $(docker container ls -aq) && docker system prune -af --volumes

To dává Dockeru pokyn, aby zastavil kontejnery uvedené v závorkách.

V závorkách dáváte Dockeru pokyn, aby vygeneroval seznam všech kontejnerů s jejich číselným ID. Poté jsou informace předány zpět na container stop příkaz a zastaví všechny kontejnery.

&& atribut instruuje Docker, aby odstranil všechny zastavené kontejnery a svazky.

-af označuje, že by to mělo platit pro všechny kontejnery (a ) bez požadovaného potvrzení (f ).

Odebrání nádoby s filtry

Můžete také určit odstranění všech objektů, které neodpovídají zadanému štítku.

Chcete-li to provést, použijte příkaz:

docker container prune --filter="label!=maintainer=Jeremy"

Tento příkaz říká Dockeru, aby odstranil všechny kontejnery které nejsou označeny správcem "jeremy .“ != příkaz je logický zápis, který znamená "není rovno ."

Rozpis label příkazy:

  • label=<key>
  • label=<key>=<value>
  • label!=<key>
  • label!=<key>=<value>

Použití těchto výrazů ve spojení se štítky vám poskytuje hloubkovou kontrolu nad odstraňováním položek v Dockeru.

Jak odebrat obrázky Docker

Docker obrazy jsou soubory, které obsahují více vrstev používaných ke spouštění kódu v kontejneru.

Obrázky mohou během vývoje projít mnoha iteracemi. Staré a zastaralé obrázky mohou zahltit váš systém, zabírat úložný prostor a ztěžovat vyhledávání.

1. Chcete-li odebrat obrázek Dockeru , začněte sepsáním všech obrázků ve vašem systému:

docker image ls

Výstup zobrazuje lokálně dostupné obrázky Docker, jak je vidět níže.

2. Poznamenejte si ID OBRÁZKU – toto je identifikátor použitý k odstranění obrázku.

3. Poté odeberte nechtěné obrázky:

docker image rm [image_id1] [image_id2]

Nahraďte [image_id1] a [image_id2] s ID obrázku, které jste vytáhli z prvního příkazu. Můžete zadat jedno ID obrázku nebo více ID pro odstranění.

Systém může na váš požadavek odpovědět chybovou zprávou, že došlo ke konfliktu a není schopen odstranit odkaz na úložiště. To znamená, že kontejner používá obrázek. Než budete moci odstranit obrázek, musíte nejprve odstranit kontejner.

Odebrání obrázků Docker pomocí filtrů

V době zveřejnění jsou jedinými podporovanými filtry until label . Přesto se jedná o výkonné nástroje pro správu zdrojů Docker.

Použijte until filtr pro odstranění všech zdrojů do daného času.

Zadejte následující:

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

Tím se odstraní všechny (-a ) obrázky vytvořené za posledních 24 hodin. Příkaz lze použít pro kontejnery, obrázky a filtry. Ujistěte se, že jste specifikovali dílo, které chcete odstranit.

 until příkaz přijímá unixová časová razítka, časová razítka ve formátu data nebo množství času (30 m, 4 h, 2 h 25 m) počítané proti strojovému času.

Použijte label příkaz k odstranění aktiv definovaných štítky.

Zadejte následující:

docker image prune --filter="label=old"

Tím odstraníte všechny obrázky dockeru které byly označeny jako „staré“.

Filtrování lze také použít k definování konkrétní hodnoty štítku.

Pokud je například kontejner označen klíčem „maintainer“ a hodnota „maintainer“ je buď „bill“ nebo „jeremy“, můžete zadat:

docker container prune --filter="label=maintainer=bill"

Docker poté odstraní všechny kontejnery se štítkem „maintainer“ s hodnotou „bill.“

Jak odebrat svazky Docker

Svazek se používá k ukládání dat Docker.

Pomáhá ukládat a organizovat data mimo kontejnery tak, aby byla dostupná pro více kontejnerů.

1. Pomocí následujícího příkazu vygenerujte seznam všech dostupných svazků Docker:

docker volume ls

Poznamenejte si VOLUME NAME chcete odstranit.

2. Poté zadejte:

docker volume rm VolumeName

Nezapomeňte nahradit VolumeName se skutečným názvem, který jste vygenerovali předchozím příkazem.

Pokud je svazek používán existujícím kontejnerem, systém odpoví chybou. To znamená, že musíte nejprve odstranit kontejner.

Jak odebrat sítě Docker

Sítě Docker umožňují různým kontejnerům vzájemně volně komunikovat a zároveň zabraňují provozu mimo síť. To se obvykle provádí pomocí sítě Docker bridge.

 prune příkaz odstraní všechny nepoužívané sítě.

Odebrání jedné sítě

1.Zobrazte seznam všech existujících sítí Docker pomocí příkazu:

docker network ls

2. Poznamenejte si ID SÍTĚ – toto je identifikátor používaný k odstranění konkrétní sítě. Poté zadejte:

docker network rm [networkID]

Nahraďte [networkID] s ID, které jste získali z prvního příkazu.

Může se zobrazit chybová zpráva, která říká, že síť má aktivní koncové body. To znamená, že síť je aktuálně využívána kontejnery. Než budete moci odstranit síť, musíte odstranit kontejnery, které používají síť.

Odstranit všechny nepoužívané objekty Docker

prune příkaz automaticky odstraní všechny prostředky, které nejsou spojeny s kontejnerem. Toto je zjednodušený způsob, jak vyčistit nepoužívané obrazy, kontejnery, svazky a sítě.

V okně terminálu zadejte následující:

docker system prune

Mohou být zahrnuty další příznaky:

  • -a Chcete-li zahrnout zastavené kontejnery a nepoužité obrázky
  • -f Vynechá potvrzovací dialog
  • --volumes Odebere všechny nepoužívané svazky

Můžete také určit jeden typ objektu, který má být odstraněn, namísto celého prostředí:

docker container prune
docker image prune
docker volume prune
docker network prune

Spuštění docker system prune -a odstraní nepoužité i visící obrázky. Obrázky použité v kontejneru, ať už aktuálně spuštěný nebo ukončený, NEBUDOU ovlivněny.

Seznam všech zdrojů Docker

Pro zobrazení zdrojů zadejte následující příkazy:

docker container ls
docker image ls
docker volume ls
docker network ls
docker info

Výše uvedené uvádí počet kontejnerů, obrázků a informací o instalaci Dockeru. Tyto příkazy vám mohou pomoci najít a identifikovat zdroje, které si chcete ponechat nebo které chcete odstranit.

Lze přidat také následující příznaky:

  • -a zobrazit všechny zdroje (včetně těch, které jsou zastaveny)
  • -q nebo --quiet (zobrazí se pouze číselné ID)

Ubuntu
  1. Jak sdílet data mezi kontejnery Docker

  2. Jak vypsat Docker kontejnery

  3. Jak opustit kontejner Docker

  1. Jak odstranit všechny obrázky, kontejnery, svazky, sítě a nevyužité zdroje Dockeru

  2. Jak vytvářet, zobrazovat a mazat kontejnery Docker v systému Linux

  3. Jak zálohovat a obnovovat kontejnery Docker

  1. Jak vypsat / spustit / zastavit kontejnery Docker

  2. Jak pozastavit a obnovit kontejnery Docker

  3. Jak odstranit všechny kontejnery Docker