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