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

12 set 2022 3 min di lettura
Как составить список контейнеров в Docker
Indice dei contenuti

Введение

Docker — это платформа контейнеризации, позволяющая быстро создавать, тестировать и развертывать такие приложения, как переносные автономные контейнеры, которые можно запускать практически в любом месте. Это стандарт де-факто для развертывания контейнеров и важный инструмент для инженеров DevOps, а также их конвейер непрерывной интеграции и доставки.

В этой статье мы объясним, как составить список контейнеров Docker.

Получение списка контейнеров Docker

Команда Docker для вывода списка контейнеров имеет следующий вид:

docker container ls [options]

Более старые версии Docker до 1.13 используют другую команду для вывода списка контейнеров:

docker ps [options]

Вышеупомянутая команда по-прежнему поддерживается в более новых версиях Docker, где команда ps является псевдонимом container ls.

Чтобы вывести список запущенных контейнеров, запустите команду docker container ls без параметров:

docker container ls

Вывод будет выглядеть следующим образом:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
 g25t256ef623 postgres "docker-entrypoint.s…" 1 hours ago Up 2 hours 5432/tcp pg
 2352h423454g redis "docker-entrypoint.s…" 2 hours ago Up 4 hours 6379/tcp cache
 12g5g514454f nginx "nginx -g 'daemon of…" 1 hours ago Up 2 hours 80/tcp web

Каждая строка выходных данных включает следующие столбцы:

  • Container ID — уникальная буквенно-цифровая строка, идентифицирующая каждый контейнер.
  • Image — образ Docker, используемый для создания контейнера.
  • Command — команда, которая выполняется при запуске контейнера.
  • Created — время создания контейнера.
  • Status — статус контейнера.
  • Ports — опубликованные порты контейнера.
  • Name — имя контейнера.

Если запущенных контейнеров нет, отображается только строка заголовка.

Параметр -a, --all, добавленный в команду docker container ls, выводит список всех контейнеров:

docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
 124f134r2134 couchbase "/entrypoint.sh couc…" 4 hours ago Exited (0) 3 hours ago db
 asfbafg23g34 postgres "docker-entrypoint.s…" 1 hours ago Up 2 hours 5432/tcp pg
 3h425yu783k8 redis "docker-entrypoint.s…" 3 hours ago Up 4 hours 6379/tcp cache
 013g345yh154 nginx "nginx -g 'daemon of…" 1 hours ago Up 2 hours 80/tcp web

По умолчанию столбцы, длина которых превышает указанный лимит, усекаются. Используйте параметр --no-trunc, чтобы отключить усечение:

docker container ls --no-trunc

Чтобы отобразить только идентификаторы контейнеров, передайте параметр -q, --quiet:

docker container ls -q
asfbafg23g34
 3h425yu783k8
 013g345yh154

Параметр --format позволяет форматировать вывод с использованием шаблона Go.Например, чтобы напечатать только имена и статус контейнеров, включая заголовок, вы должны сделать:

docker container ls --format 'table {{.Names}}\t{{.Status}}'
NAMES STATUS
 pg Up 1 hours
 cache Up 3 hours
 web Up 1 hours

Используйте параметр -s, --size для отображения размеров контейнера:

docker container ls -s

Каждая строка будет включать столбец с именем SIZE, который показывает размер контейнера:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE
 asfbafg23g34 postgres "docker-entrypoint.s…" 1 hours ago Up 1 hours 5432/tcp pg 86B (virtual 451MB)
 3h425yu783k8 redis "docker-entrypoint.s…" 3 hours ago Up 3 hours 6379/tcp cache 0B (virtual 87.1MB)
 013g345yh154 nginx "nginx -g 'daemon of…" 1 hours ago Up 1 hours 80/tcp web 3B (virtual 216MB)

Параметр --last, -n указывает команде отображать последние n созданных контейнеров, включая все состояния. Например, чтобы увидеть два последних созданных контейнера, вам нужно будет запустить:

docker container ls -n 2
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
 245h5453f355 couchbase "/entrypoint.sh couc…" 4 hours ago Exited (0) 2 hours ago db
 asfbafg23g34 postgres "docker-entrypoint.s…" 1 hours ago Up 1 hours 5432/tcp pg

Существует также возможность перечислить только последний созданный контейнер --latest, -l который аналогичен -n 1:

docker container ls -l

Параметр --filter, -f позволяет фильтровать вывод на основе определенных критериев. Например, чтобы просмотреть только контейнеры со статусом exited:

docker container ls -f "status=exited"
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
 245h5453f355 couchbase "/entrypoint.sh couc…" 4 hours ago Exited (0) 2 hours ago db

Список всех поддерживаемых фильтров см. в документации Docker.

Вывод

Контейнер Docker — это автономный экземпляр образа во время выполнения. Чтобы получить список контейнеров Docker, используйте команду docker container ls или ее псевдоним docker ps.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.