
Docker — это платформа контейнеризации, позволяющая быстро создавать, тестировать и развертывать приложения в виде портативных, самодостаточных контейнеров, которые могут работать практически где угодно. 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 , -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 .
Если у вас есть вопросы, пожалуйста, оставьте комментарий ниже.
Связанные руководства
- Как установить и использовать Docker Compose в Debian 10 Linux
- Команда Docker Run с примерами
- Как подключиться к Docker-контейнеру
- Как установить и использовать Docker в Debian 10 Linux
- Как установить и использовать Docker на Raspberry Pi
- Как создавать образы Docker с помощью Dockerfile
- Как установить Docker Compose в Ubuntu 20.04