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

Jak vypsat Docker kontejnery

Jak vypíšete seznam všech kontejnerů dockerů přítomných ve vašem systému?

Existují dva způsoby, jak to udělat:

  • Pomocí docker ps příkaz (starší a populární metoda)
  • Použití docker container příkaz (novější a méně známá metoda)

Dovolte mi rychle uvést seznam příkazů s nejběžnějšími příklady pro vaši rychlou orientaci.

příkaz ps container command Zobrazení příkazů
docker ps docker kontejner ls běžící kontejnery
docker ps -a docker kontejner ls -a všechny kontejnery
docker ps
-f "status=exited"
docker kontejner ls
-f "status=exited"
zastavené kontejnery
docker ps -q docker kontejner ls -q ID spuštěných kontejnerů
docker ps -l docker kontejner ls -l nejnověji vytvořený kontejner

Jak vidíte, obě ps a container příkazy jsou totožné s jejich možnostmi.

Protože však chce docker správně organizovat příkazy, doporučuje používat docker container ls příkaz.

Z tohoto důvodu budu používat docker container ls v podrobných příkladech.

Zobrazit běžící kontejnery dockeru

Bez jakýchkoli možností uvidíte pouze spuštěné kontejnery.

docker container ls

Výstup je podrobný:

[email protected]:~$ docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
f03e48cb07ea        ubuntu              "bash"              8 seconds ago       Up 6 seconds                            ubuntu-c-1
93f84eb0f579        alpine              "/bin/sh"           23 seconds ago      Up 22 seconds                           alp_con2

Pokud tento výstup vidíte poprvé, dovolte mi vysvětlit různé prvky výstupu:

  • Container ID – Jedinečné číselné ID k identifikaci kontejneru
  • Image - Obrázek Docker, který vytvořil kontejner
  • Command – Výchozí příkaz, který se provede při spouštění kontejneru
  • Created - Relativní čas, kdy byl kontejner vytvořen
  • Status - Stav kontejneru (bude vysvětlen později)
  • Ports - Publikované porty kontejneru
  • Name - Název kontejneru. Není-li zadána žádná, je i tak přiděleno náhodné jméno.

Vypsat všechny kontejnery dockeru

Pokud chcete vidět všechny kontejnery ve vašem systému, použijte volbu -a .

docker container ls -a

Zde je ukázkový výstup a můžete vidět, že nyní ukazuje také několik zastavených kontejnerů.

[email protected]:~$ docker container ls -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                   PORTS               NAMES
f03e48cb07ea        ubuntu              "bash"              37 minutes ago      Up 37 minutes                                ubuntu-c-1
93f84eb0f579        alpine              "/bin/sh"           37 minutes ago      Up 37 minutes                                alp_con2
1c1c04a84186        alpine              "bash"              38 minutes ago      Created                                      alp_con
6fbc4bf4897b        ubuntu              "/bin/bash"         2 hours ago         Exited (0) 2 hours ago                       fervent_hofstadter
8b9565ba7661        alpine              "/bin/sh"           2 hours ago         Exited (0) 2 hours ago                       beautiful_williamson
853e748608bc        hello-world         "/hello"            2 hours ago         Exited (0) 2 hours ago                       stoic_engelbart

Zobrazit pouze zastavené kontejnery

Pokud chcete vypsat pouze zastavené kontejnery, můžete výstup filtrovat na exited stav.

docker container ls --filter "status=exited"

Zde je filtrovaný výstup:

[email protected]:~$ docker container ls --filter "status=exited"
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                   PORTS               NAMES
6fbc4bf4897b        ubuntu              "/bin/bash"         2 hours ago         Exited (0) 2 hours ago                       fervent_hofstadter
8b9565ba7661        alpine              "/bin/sh"           2 hours ago         Exited (0) 2 hours ago                       beautiful_williamson
853e748608bc        hello-world         "/hello"            2 hours ago         Exited (0) 2 hours ago                       stoic_engelbart

exited stav je pro zastavené kontejnery. Pro kontejnery existuje několik dalších stavů, které můžete použít pro různé účely:

  • created – Kontejner, který byl vytvořen, ale nebyl spuštěn
  • restarting – Kontejner v procesu restartování
  • running - Běžící kontejner
  • paused – Kontejner, jehož procesy byly pozastaveny
  • exited - Zastavená nádoba
  • dead – Kontejner, který se pokusil zastavit, ale selhal

Ve skutečnosti není filtrování omezeno na stav, můžete filtrovat na základě dalších prvků výstupu výpisu kontejneru, jako je ID kontejneru, název nebo obrázek. Následující příklad používá tento koncept.

Zobrazit kontejnery spojené s obrázkem

Pomocí filtrů můžete zobrazit všechny kontejnery spojené s určitým obrázkem pouze pomocí ancestor filtr.

docker container ls -a --filter "ancestor=image_name"

Zde je výstup, který zobrazuje všechny kontejnery přidružené k obrazu dockeru Alpine Linux.

[email protected]:~$ docker container ls -a --filter "ancestor=alpine"
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                   PORTS               NAMES
93f84eb0f579        alpine              "/bin/sh"           48 minutes ago      Up 48 minutes                                alp_con2
1c1c04a84186        alpine              "bash"              49 minutes ago      Created                                      alp_con
8b9565ba7661        alpine              "/bin/sh"           2 hours ago         Exited (0) 2 hours ago                       beautiful_williamson

ID kontejneru pouze pro zobrazení

Všimli jste si, že všechny výše uvedené příkazy mají podrobný výstup na kontejnery?

Pokud nepotřebujete další informace, jako je název kontejneru, související obrázek, jeho stav, můžete použít tichou možnost -q .

Pokud například použiji -q možnost v předchozím příkladu mi dává pouze ID všech kontejnerů spojených s Alpine Linux.

[email protected]:~$ docker container ls -a -q --filter "ancestor=alpine"
93f84eb0f579
1c1c04a84186
8b9565ba7661

To se hodí v situacích, jako je odstranění všech kontejnerů obrazu dockeru.

No, to je dost pro tento docker tutoriál. Myslím, že jsem zmínil dost případů použití pro výpis kontejnerů v dockeru. Zůstaňte přihlášeni k odběru dalších takových výukových programů.


Docker
  1. Jak používat Docker Compose

  2. Jak připojit kontejnery Docker

  3. Jak spustit MySQL v kontejneru Docker

  1. Jak SSH do kontejneru Docker

  2. Jak zálohovat a obnovovat kontejnery Docker

  3. Jak pozastavit a obnovit kontejnery Docker

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

  2. Jak sdílet data mezi kontejnery Docker

  3. Jak opustit kontejner Docker