Как вывести список контейнеров в Docker

965

Есть команда для отображения изображений, docker imagesно, похоже, нет соответствующей docker containers.

Кроме того, что вы не можете получить root-права и смотреть /var/lib/dockerтуда, кажется, не способ сделать это. Я что-то пропустил? Это то, что никто не должен делать?

w00t
источник
Аналогичный вопрос о переполнении стека stackoverflow.com/questions/38464549/…
Йогеш

Ответы:

1641

Чтобы показать только запущенные контейнеры, используйте данную команду:

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 filtering)

docker ps -a -f status=running

Вывести список всех запущенных и остановленных контейнеров, показывая только их идентификатор контейнера

docker ps -aq

Чтобы удалить все контейнеры, которые не работают

docker rm `docker ps -aq -f status=exited`
kramfs
источник
32

Обратите внимание, что некоторое время назад произошло обновление этой команды. По умолчанию размер контейнера не будет отображаться (поскольку это довольно дорого для многих работающих контейнеров). Используйте docker ps -sдля отображения размера контейнера.

qkrijger
источник
В соответствии с ответом mrh ниже, вам также понадобится ключ -a для просмотра контейнеров, которые не запущены (вероятно, для тех, кого вы хотите удалить), поэтому последняя команда - docker ps -as(не забудьте предварительно добавить, sudoесли демон работает от имени пользователя root)
Энтони ДиСанти,
21

docker ps -s покажет размер только запущенных контейнеров.

Для проверки размера всех контейнеров используйте docker ps -as

MRH
источник
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 , пользователям предлагается принять новый синтаксис:

CLI реструктурирован

В Docker 1.13 мы перегруппировали каждую команду, чтобы она находилась под логическим объектом, с которым она взаимодействует. Например, listи startтеперь контейнеры являются подкомандами docker containerи historyявляются подкомандами docker image.

Эти изменения позволят нам очистить синтаксис Docker CLI, улучшить текст справки и упростить использование Docker. Старый командный синтаксис все еще поддерживается, но мы призываем всех принять новый синтаксис .

tgogos
источник
1
отличная информация, позор, который docker --helpимеет предложенный интерфейс 3 страницы назад в своем выводе, скрытый перед устаревшими командами!
Данио
13

Чтобы перечислить только контейнеры SHA1:

docker ps -aq --no-trunc

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

Например, в список только на имя всех контейнеров (поскольку docker psсписок только их имена с другой информацией):

docker inspect --format='{{.Name}}' $(sudo docker ps -aq --no-trunc)
VonC
источник
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 есть несколько псевдонимов. Например:

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

Вы также можете использовать опцию Give [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

Посетите документацию, чтобы узнать все доступные опции для этой команды.

menuka
источник
1

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

$ sudo docker ps
vezenkov
источник
1
alias docker="sudo --group docker docker"
Ctrl-Alt-Delor
1
docker ps [OPTIONS]

Следующая команда покажет только запущенные контейнеры по умолчанию.

docker ps

Чтобы увидеть все контейнеры:

docker ps -a

Для отображения последнего созданного контейнера:

docker ps -l
Nobita
источник