Главная » Хабрахабр » docker-pretty-ps — наконец-то удобный для чтения «docker ps»

docker-pretty-ps — наконец-то удобный для чтения «docker ps»

Вы не одиноки в этом мире, если вот уже долгое время не рады тому, как выглядит стандартный вывод docker ps. Хотя и существуют различные workarounds на эту тему (см. в конце материала), однажды какой-нибудь энтузиаст должен был сделать «что-то ещё»… и это произошло в наступившем 2019 году. Имя ему — docker-pretty-ps.

Задумка автора банальна донельзя: горизонтальный вывод и цвета для наглядности.

А в качестве аудитории утилиты называются «скорее разработчики, чем хардкорные DevOps'ы или SRE-инженеры».

Возможности

С внешним видом всё должно быть понятно из картинки. Что позволяет утилита в смысле функций? По умолчанию выводятся все запущенные контейнеры, но этим, конечно, возможности не ограничиваются — в docker-pretty-ps поддерживается:

  • вывод всех контейнеров (включая остановленные);
  • поиск контейнеров по шаблону: docker-pretty-ps my,try выведет контейнеры, в названии которых найдены *my* и *try* (например, docker-registry и mysql-redmine);
  • несколько опций сортировки;
  • настраиваемые поля вывода для каждого контейнера (доступны: container_id, created, ports, image_id, status, command);
  • компактный режим вывода slim (убирает все перечисленные выше поля, оставляя только названия контейнеров):

  • вывод данных в формате JSON.

Установка

Код проекта написан на Python и авторы отдельно отмечают, что сторонние Python-пакеты не используются, поэтому для запуска достаточно иметь в системе Docker и Python, что справедливо для многих.

Установка осуществляется через pip:

pip install docker-pretty-ps

… или же простой сборкой:

git clone https://github.com/politeauthority/docker-pretty-ps.git
cd docker-pretty-ps
python3 setup.py build
python3 setup.py install

Всё — можно пользоваться:

$ docker-pretty-ps -h
usage: docker-pretty-ps [-h] [-a] [-s] [-i INCLUDE] [-o [ORDER]] [-r] [-j] [-v] [search] positional arguments: search Phrase to search containers, comma separate multiples. optional arguments:

Другие workarounds

Несмотря на широкую поддержку на Reddit, эта утилита подойдёт, безусловно, не всем. В частности, если у вас много контейнеров (десятки и более), то даже использование режима slim не всегда будет удобным. И тогда более полезным может оказаться один из известных уже давно workaround'ов.

docker ps --format

Опция форматирования для docker ps — это не просто workaround, но и в некотором смысле лучшее решение, т.к. не требует ничего дополнительного в смысле установки в системе.

Для команды docker ps его поддержка появилась уже давно (в релизе Docker 1. Аргумент --format принимают многие команды Docker, позволяя (через go-template) настроить их вывод под себя. Вот пример её использования: 8 от августа 2015 г.).

[flant] d.shurupov@kube-node-test ~ $ sudo docker ps --format 'table }\t{{.Image}}'
NAMES IMAGE
k8s_fluentd_fluentd-jmzjd_loghouse… flant/loghouse-fluentd…
k8s_cert-manager_cert-manager-… quay.io/jetstack/cert-manager-controller…
k8s_prometheus-config-reloader_… 597141b113d9
k8s_prometheus_prometheus-main-… cc866859f8df
k8s_POD_prometheus-main-0_kube-… k8s.gcr.io/pause-amd64:3.1

(NB: В приведённом выше примере вручную были обрезаны полные названия контейнеров и образов ­— для лучшей наглядности.)

Подробности о работе с --format можно найти, например, в этой статье, а примеры доступных функций — в документации Docker.

ctop

Пожалуй, даже более популярный путь — использование утилиты ctop, которая предлагает интерфейс, похожий на классический top, но для Docker-контейнеров:

Её удобный запуск в консоли можно свести к такому алиасу:

alias ctop='docker run --rm -ti -v /var/run/docker.sock:/var/run/docker.sock quay.io/vektorlab/ctop:latest'

А чем пользуетесь вы? Помимо этого, конечно, существуют и другие — более продвинутые в своих возможностях — интерфейсы, но их описание выходит за рамки статьи.

P.S.

Читайте также в нашем блоге:


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

Дата-центры на выбор: Лондон, Москва, Цюрих, Санкт-Петербург

Отчасти санкции, отчасти рост технологического бизнеса, отчасти рост дохода этого самого бизнеса сформировали в России условия для развития коммерческих ЦОД. Если раньше можно было горько усмехнуться над SLA, ждать пока встанет интернет-магазин на лежащем сервере, фактически доверять провайдеру «в тёмную», ...

Подборка: 4 полезных сервиса для потенциальных иммигрантов в США, Европу и другие страны

Я решил собрать в одном месте список онлайн-сервисов, которые будут полезны тем, кто всерьез задумался об иммиграции. Тема переезда в Европу, США или другие приятные регионы мира довольно часто поднимается на Хабре. Для статьи я отобрал четыре проекта. На удивление, ...