GNU/Linux >> Znalost Linux >  >> Panels >> Docker

Jak odstranit kontejnery Docker

Kontejnery jsou úžasné, pokud jde o testování a nasazení projektu. Pokud však vytvoříte více kontejnerů, mohou kontejnery rychle zabírat místo na disku.

V tomto návodu pro začátečníky Docker vám ukážu, jak odstranit kontejnery dockeru.

V nejjednodušší podobě můžete kontejner dockeru odebrat pomocí příkazu docker rm:

docker rm container_id_or_name

Pokud chcete odstranit všechny kontejnery, zastavte nejprve ty běžící a poté je odstraňte:

docker ps -q | xargs docker stop
docker ps -q | xargs docker rm

Ale s kontejnery nebudete mít vždy jednoduchý život. A to je důvod, proč ukážu různé scénáře, ve kterých můžete odstranit kontejnery dockeru.

Praktické příklady odstraňování ukotvovacích kontejnerů

Jak můžete hádat, abyste mohli odstranit kontejner, musíte znát jeho název nebo ID. Všechny kontejnery dockeru ve vašem systému (jak zastavené, tak spuštěné) můžete zkontrolovat pomocí příkazu docker ps takto:

[email protected]:~$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
07e97581c5d8        debian              "bash"              9 minutes ago       Up 9 minutes                                    container2
6ef4545eef37        ubuntu              "bash"              11 minutes ago      Up 11 minutes                                   container1
707e40ce3c5a        ubuntu              "/bin/bash"         15 minutes ago      Exited (0) 15 minutes ago                       boring_payne
8047ab8e3673        ubuntu              "/bin/bash"         34 minutes ago      Exited (0) 15 minutes ago                       relaxed_wiles
ce84231ab213        debian              "bash"              42 minutes ago      Exited (0) 42 minutes ago                       bold_golick
12a18eaa291b        hello-world         "/hello"            2 days ago          Exited (0) 2 days ago                           brave_mendeleev

První sloupec udává ID kontejneru a poslední sloupec udává název kontejneru. Můžete si také všimnout, že spuštěné kontejnery dockeru mají ve sloupci Stav hodnotu „Nahoru“.

Nyní, když víte, jak získat ID a název kontejneru, pojďme se podívat, jak je odstranit:

Odebrat kontejner dockeru

Toto je nejjednodušší. ID nebo název kontejneru použijete tímto způsobem:

docker rm container_id_or_name

Ve výstupu se nezobrazí zpráva jako kontejner odstraněn. Zobrazuje pouze ID nebo název kontejneru, který jste zadali.

[email protected]:~$ docker rm 12a18eaa291b
12a18eaa291b

Odebrání běžícího kontejneru

Pokud je kontejner spuštěn a pokusíte se jej odstranit, zobrazí se tato chyba:

[email protected]:~$ docker rm container1
Error response from daemon: You cannot remove a running container 6ef4545eef378788e5e9d7ac1cf2e0a717480608adb432be99fd9b3d3a604c12. Stop the container before attempting removal or force remove

Zcela jasně byste měli nejprve zastavit kontejner dockeru a poté jej odstranit:

docker stop container_id_or_name
docker rm container_id_or_name

Docker vám dává možnost -f k vynucení odstranění kontejneru. Pomocí tohoto můžete odstranit běžící kontejner:

docker rm -f container_id_or_name

To se nedoporučuje, protože odesílá příkaz kill a váš kontejner nemusí uložit svůj stav.

Odebrání více kontejnerů dockeru

Při odebírání můžete zadat více než jeden kontejner ukotvitelného panelu:

docker rm container1 container2 container3

Odstranění více kontejnerů dockeru spojených s konkrétním obrázkem dockeru

V příkladu řekněme, že chcete odstranit všechny kontejnery spojené s docker image ubuntu.

Doporučuji vám nejprve zastavit kontejnery:

docker ps -a -q --filter ancestor=ubuntu | xargs docker stop

A poté odstraňte tyto kontejnery:

docker ps -a -q --filter ancestor=ubuntu | xargs docker rm

Pro vysvětlení výše uvedeného příkazu docker ps výstup příkazu byl filtrován pomocí kontejnerů spojených s obrazem ubuntu a poté pomocí -q možnost zadat pouze ID kontejneru. Zkombinujte jej s příkazem xargs a vložte ID kontejneru (přidružených k Ubuntu) do příkazu docker rm.

Odstranění všech zastavených kontejnerů

Pokud chcete odstranit všechny zastavené kontejnery, můžete je filtrovat podle jejich stavu a poté je zastavit tímto způsobem:

docker ps -a -q -f status=exited | xargs docker rm

Odebrat všechny kontejnery Docker

Pokud chcete ze systému odstranit všechny kontejnery, měli byste nejprve zastavit všechny kontejnery a poté je odstranit:

docker ps -q | xargs docker stop
docker ps -q | xargs docker rm

Doufám, že se vám tento Docker tutoriál líbil. Zůstaňte naladěni na další.


Docker
  1. Jak automaticky aktualizovat běžící kontejnery Docker

  2. Jak používat Docker Compose

  3. Jak připojit kontejnery Docker

  1. Jak exportovat a importovat kontejnery Docker

  2. Jak předávat proměnné prostředí do kontejnerů Docker

  3. Jak vypsat Docker kontejnery

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

  2. Jak sdílet data mezi kontejnery Docker

  3. Jak odstranit všechny kontejnery Docker