ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 31 марта, 2025
Сегодня у нас 1 праздник:
Международный День Резервного Копирования (World Backup Day). Пользователи сайта социальных новостей reddit предложили сделать дату 31.03 Международным днём резервного копирования, аргументируя это тем, что никогда заранее нельзя узнать, какие сюрпризы преподнесёт 1.04

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

Установить Docker 1.11 на Ubuntu 16.04 LTS x64

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

В этой статье мы расскажем, как составить список контейнеров 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
c8bded53da86    postgres     "docker-entrypoint.s…"   2 hours ago    Up 2 hours    5432/tcp    pg
571c3a115fcf    redis        "docker-entrypoint.s…"   4 hours ago    Up 4 hours    6379/tcp    cache
05ef6d8680ba    nginx        "nginx -g 'daemon of…"   2 hours ago    Up 2 hours    80/tcp      web

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

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

Опция -a, —all указывает docker container ls распечатать список всех контейнеров:

docker container ls -a
CONTAINER ID    IMAGE        COMMAND                  CREATED        STATUS                    PORTS       NAMES
b28cbaa91f15    couchbase    "/entrypoint.sh couc…"   5 hours ago    Exited (0) 3 hours ago                db
c8bded53da86    postgres     "docker-entrypoint.s…"   2 hours ago    Up 2 hours                5432/tcp    pg
571c3a115fcf    redis        "docker-entrypoint.s…"   4 hours ago    Up 4 hours                6379/tcp    cache
05ef6d8680ba    nginx        "nginx -g 'daemon of…"   2 hours ago    Up 2 hours                80/tcp      web

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

docker container ls --no-trunc

Чтобы отображались только идентификаторы контейнеров, передайте опция -q, —quiet:

docker container ls -q
c8bded53da86
571c3a115fcf
05ef6d8680ba

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

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

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

docker container ls -s

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

CONTAINER ID    IMAGE        COMMAND                  CREATED        STATUS        PORTS       NAMES    SIZE
c8bded53da86    postgres     "docker-entrypoint.s…"   2 hours ago    Up 2 hours    5432/tcp    pg       63B (virtual 394MB)
571c3a115fcf    redis        "docker-entrypoint.s…"   4 hours ago    Up 4 hours    6379/tcp    cache    0B (virtual 98.2MB)
05ef6d8680ba    nginx        "nginx -g 'daemon of…"   2 hours ago    Up 2 hours    80/tcp      web      2B (virtual 126MB)

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

docker container ls -n 2
CONTAINER ID    IMAGE        COMMAND                  CREATED        STATUS                    PORTS       NAMES
b28cbaa91f15    couchbase    "/entrypoint.sh couc…"   5 hours ago    Exited (0) 3 hours ago                db
c8bded53da86    postgres     "docker-entrypoint.s…"   2 hours ago    Up 2 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
b28cbaa91f15    couchbase    "/entrypoint.sh couc…"   5 hours ago    Exited (0) 3 hours ago                db

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

Контейнер Docker — это автономный экземпляр образа во время выполнения.

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

Если у вас есть какие-либо вопросы, пожалуйста, оставьте комментарий ниже.

Exit mobile version