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


965

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

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


Аналогичный вопрос о переполнении стека 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`

32

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


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

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

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

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

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


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

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 есть несколько псевдонимов. Например:

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

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


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.