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
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
только последний созданный контейнер --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
.
Если у вас есть вопросы, оставьте комментарий ниже.