Як перелічити контейнери в Docker


965

Існує команда перелічити зображення, docker imagesале, здається, немає відповідних docker containers.

Окрім того, як стати корінним і шукати /var/lib/dockerтам, схоже, це не зробити. Я щось пропускаю? Це щось, чого не слід робити?


Аналогічне запитання щодо Stack Overflow stackoverflow.com/questions/38464549/…
Йогеш

Відповіді:


1638

Для показу лише запущених контейнерів використовуйте дану команду:

docker ps

Щоб показати всі контейнери, використовуйте дану команду:

docker ps -a

Щоб показати останній створений контейнер (включає всі стани), використовуйте дану команду:

docker ps -l

Щоб показати n останніх створених контейнерів (включає всі стани), використовуйте дану команду:

docker ps -n=-1

Для відображення загальних розмірів файлів використовуйте дану команду:

docker ps -s

Вміст, представлений вище, з docker.com .

У новій версії Docker команди оновлюються, а деякі команди управління додаються:

docker container ls

Він використовується для переліку всіх запущених контейнерів.

docker container ls -a

А потім, якщо ви хочете очистити їх усіх,

docker rm $(docker ps -aq)

Він використовується для переліку всіх створених контейнерів незалежно від його стану.

І зупинити всі контейнери Docker (сила)

docker rm -f $(docker ps -a -q)  

Тут контейнер є командою управління.


@RutgerHofste обидві команди ( docker rmі docker ps) дійсно показують в допомогу Docker в.
Манчкін

10
Ще одним корисним способом очищення всіх непотрібних предметів, таких як звисаючі контейнери, невикористані зображення, журнали тощо, є використання docker system prune --all. Ви можете знайти документацію
докера

після витягування зображення, ps -a, НЕ перераховує його. здається, ви можете перелічити лише зображення, які були виконані хоча б раз?
ftravers

docker psперелічує всі запущені та призупинені контейнери. Перелічити лише ті, що працюють:docker ps --filter="status=running"
WindyFields

@ftravers docker psпоказує лише інформацію про контейнери. Що ви хочете - це інформація про зображення. Ви можете бачити всі локальні зображення за допомогою docker imagesкоманди.
Lappro

141

Щоб перерахувати всі запущені та зупинені контейнери

docker ps -a

Щоб перерахувати всі запущені контейнери (просто вказавши очевидний, а також, наприклад, використовувати параметр -f фільтрація)

docker ps -a -f status=running

Щоб перерахувати всі запущені та зупинені контейнери, показавши лише їх ідентифікатор

docker ps -aq

Щоб видалити всі контейнери, які НЕ працюють

docker rm `docker ps -aq -f status=exited`

32

Зауважте, що деякий час тому було оновлено цю команду. Він не відображатиме розмір контейнера за замовчуванням (оскільки це досить дорого для багатьох запущених контейнерів). Використовуйте також docker ps -sдля відображення розміру контейнера.


Відповідно до відповіді mrh нижче, вам також знадобиться перемикач -a для перегляду контейнерів, які не запущені (ймовірно, це стосується тих, кого ви хочете видалити), тому остаточною командою є docker ps -as(не забудьте додати, sudoякщо демон працює як корінь)
Ентоні Дісанті

21

docker ps -s буде показувати розмір лише запущених контейнерів.

Щоб перевірити розмір усіх контейнерів, використовуйте docker ps -as


19

Є також такі варіанти:

docker container ls
docker container ls -a
# --all, -a
# Show all containers (default shows just running)

з: 1.13.0 (2017-01-18) :

Реструктуруйте команди CLI шляхом додавання docker imageта docker containerкоманд для більшої послідовності # 26025

і як зазначено тут: Представляючи Docker 1.13 , користувачам рекомендується прийняти новий синтаксис:

КЛІ реструктуризовано

У Docker 1.13 ми перегрупували кожну команду, щоб сидіти під логічним об'єктом, з яким вона взаємодіє. Наприклад listіstart контейнери тепер підкоманду docker containerі historyє субкоманди docker image.

Ці зміни дозволяють нам очистити синтаксис Docker CLI, покращити текст довідки та зробити Docker простішим у використанні. Старий синтаксис команд все ще підтримується, але ми закликаємо всіх прийняти новий синтаксис .


1
чудова інформація, прикро, що docker --helpзапропонований інтерфейс 3 сторінки назад у своєму виході, прихований перед застарілими командами!
danio

13

Щоб перерахувати лише контейнери SHA1:

docker ps -aq --no-trunc

Таким чином, ви можете використовувати список усіх контейнерів для інших команд (які приймають кілька ідентифікаторів контейнерів як параметри).

Наприклад, в список тільки на ім'я всіх контейнерів (оскільки docker psсписок тільки їх імена з іншою інформацією):

docker inspect --format='{{.Name}}' $(sudo docker ps -aq --no-trunc)

13

Набір команд Docker простий і добре тримає разом:

docker stack ls
docker service ls
docker image ls
docker container ls

Навчання псевдонімів спочатку бентежить. Як тільки ви зрозумієте, що відбувається, вони можуть зберегти кілька натискань клавіш:

docker images -> docker image ls
docker ps -> docker container ls
docker rmi -> docker image rm
docker rm -> docker container rm

У Докера є кілька псевдонімів. Наприклад:

docker rmi
docker image rm
docker image rmi
docker image remove

все та ж команда (див. для самостійного використання docker help image rm).


4

Існує багато способів перерахувати всі контейнери.

Ви можете знайти 3 псевдоніми ls, ps, list.

sudo docker container ls 
sudo docker container ps
sudo docker container list
sudo docker ps
sudo docker ps -a

Ви також можете скористатися опцією давання [option].

Параметри -:

  -a, --all             Show all containers (default shows just running)
  -f, --filter filter   Filter output based on conditions provided
      --format string   Pretty-print containers using a Go template
  -n, --last int        Show last created containers (includes all states) (default -1)
  -l, --latest          Show the latest created container (includes all states)
      --no-trunc        Don't truncate output
  -q, --quiet           Only display numeric IDs
  -s, --size            Display total file sizes

Ви можете використовувати такий варіант:

sudo docker ps //Showing only running containers
sudo docker ps -a //All container (running + stopped)
sudo docker pa -l // latest
sudo docker ps -n <int valuse 1,2,3 etc>// latest number of created containers
sudo docker ps -s // Display container with size
sudo docker ps -q // Only display numeric IDs for containers
docker docker ps -a | tail -n 1 //oldest container

3

Відображення лише запущених контейнерів

docker ps

Показати всі контейнери (включає всі штати)

docker ps -a

Показ останнього створеного контейнера (включає всі штати)

docker ps -l

Показати n останніх створених контейнерів (включає всі штати)

docker ps -n=-1

Для відображення загальних розмірів файлів

docker ps -s

У новій версії Docker команди оновлюються, а деякі команди управління додаються:

docker container ls

Список усіх запущених контейнерів.

docker container ls -a


3

Перерахуйте запущені контейнери: -

$ docker ps

Список усіх контейнерів: -

$ docker ps -a

Перелік лише зупинених контейнерів: -

$ docker ps --filter "status=exited"

або

$ docker ps -f "status=exited"


Ці команди вже розміщувались неодноразово - у чому причина дублювання інших відповідей?
Ніко Хааз

2

просто зручний спосіб отримати останні n = 5 контейнерів (незалежно від того, працює чи ні):

$ docker container ls -a -n5

2

Використовуйте docker container ls для переліку всіх запущених контейнерів.

Використовуйте прапор -aдля показу всіх контейнерів (не лише запущених). тобтоdocker container ls -a

Використовуйте прапор -qдля показу контейнерів та їх числових ідентифікаторів. тобтоdocker container ls -q

Перегляньте документацію, щоб дізнатися про всі доступні варіанти цієї команди.


1

Я отримав повідомлення про помилку, Cannot connect to the Docker daemon.я забув, що я запускаю демон як root і потрібно sudo:

$ sudo docker ps

1
alias docker="sudo --group docker docker"
ctrl-alt-delor

1
docker ps [OPTIONS]

Наступна команда показує лише запущені контейнери за замовчуванням.

docker ps

Щоб побачити всі контейнери:

docker ps -a

Показ останнього створеного контейнера:

docker ps -l
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.