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

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

  • 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
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.

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

Источник: AndreyEx.ru