img

8 инструментов CLI для простого мониторинга и управления Docker-контейнерами

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

 

Docker-контейнеры – это помощники разработчиков. Контейнеризация позволяет повысить эффективность совместной работы, экономическую эффективность, мобильность, а также предоставляет возможность быстрого тестирования/развертывания приложений. 

Ввиду всех своих ценных преимуществ Docker-контейнеры лежат в основе многих служб.

Поскольку зависимость от этой технологии только растет, так же важно уметь управлять Docker-контейнерами. 

Да, даже если вы используете лучшие хостинг-платформы Docker, вам нужны эффективные инструменты для управления ими.

Здесь мы разберем несколько простых, но при этом эффективных инструментов CLI, с помощью которых вы сможете отслеживать и управлять Docker-контейнерами.

Сопровождение Docker-контейнеров с помощью инструментов CLI

Несмотря на наличие графических пользовательских интерфейсов (GUI), многие системные администраторы по-прежнему предпочитают использовать командную строку или терминал (CLI). 

Но почему? 

Обычно графический интерфейс имеет свойство развиваться и, соответственно, принцип его работы или места нахождения тех или иных функций могут меняться.  

А вот CLI не свойственны какие-то радикальные изменения, которые заставляют вас заново изучать, как она работает. Так что, изучив CLI, вы можете не беспокоиться о ее обновлениях. 

Вы можете легко освоить CLI, и вам не придется постоянно адаптироваться к ее изменениям.

Более того, в GUI могут быть какие-то глупые ошибки или проблемы, которые могут затруднить управление Docker-контейнерами. 

А вот CLI, наоборот, в целом стабильна и не имеет каких-то странных дефектов/ошибок.

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

Инструменты командной строки для управления Docker-контейнерами

Учитывая немалое количество преимуществ инструментов CLI, управлять с их помощью Docker-контейнерами удобно и безопасно.

И тем не менее, было бы полезно, если бы вы также изучили, как запускать команды внутри Docker-контейнера.

Но какие инструменты попробовать? И достаточно ли одной CLI для мониторинга и управления несколькими контейнерами?

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

1. Dockly

Если вам нужен иммерсивный интерфейс терминала для управления и мониторинга за контейнерами и службами, то Dockly – это то, что вам нужно.

Это CLI—приложение Node.js, а это значит, что вы можете установить его через репозиторий npm. Вам не нужно выходить из командной строки или запоминать все команды Docker или флаги; Dockly сделает все за вас.

Этот инструмент активно обновляется и довольно популярен среди себе подобных.

Он может передавать выходные данные журналов всех запущенных Docker-контейнеров в окно журнала, где вы можете по мере необходимости прокручивать записи вверх/вниз. Вы также можете с его помощью быстро создать новый сеанс Bash.

Кроме того, Dockly поддерживает режим Swarm (Docker). Так что, вы можете переключаться между локальными контейнерами и режимом Swarm.

2. Dive

Dive – это отличный инструмент, который позволяет анализировать образ Docker и его содержимое. 

Данный инструмент предназначен помочь вам проанализировать образ Docker и найти какие-то решения по уменьшению/увеличению его размера.

Инструмент не ограничивается возможность просмотра слоев и содержимого. Он также предоставляет дополнительную информацию об изменениях файлов, их модификации, добавлении в дерево файлов или удалении оттуда. Вы можете проанализировать образ вручную или попробовать оценить эффективность образа.

Кроме того, инструмент может предположить количество пустого пространства, которое содержит ваш образ.

Чтобы не тратить дополнительное пространство, вы можете запустить этот инструмент в своем CI-конвейере. А чтобы узнать, как его установить и как его использовать, вы можете посетить официальную страницу на GitHub.

3. Ctop

Если вам не нужен большой функционал, но при этом нужно отслеживать службы, Ctop – то, что вам нужно.

Он может предоставлять метрики в режиме реального времени для нескольких контейнеров сразу, в том числе такую важную информацию, как идентификатор контейнера, загрузка ЦП, потребление памяти и статистика использования сети. И все это в самом обычном пользовательском интерфейсе.

Несмотря на то, что в первую очередь он призван упростить мониторинг нескольких контейнеров, его также можно использовать для просмотра и анализа одного конкретного контейнера.

Вы можете выполнить сборку пакета с GitHub или использовать готовые двоичные файлы, сопровождаемые сторонними организациями. 

4. Dry

Это терминал, который помогает вам отслеживать и управлять Docker-контейнерами. Dry – это простейшее приложение, не требующее подключения каких-либо внешних библиотек. 

Он также поддерживает кластер Swarm. Так что, вы можете просматривать как информацию о контейнерах, так и о настройках Swarm.

В целях удобства он поддерживает многие команды командной строки Docker (с теми же функциями).

Таким образом, вам не придется покидать командную строку, и большую часть времени вы сможете использовать именно Dry.

5. Lazy Docker

Lazy Docker – это высококлассный инструмент, который предоставляет все возможные функции для Docker-контейнеров из единого пользовательского интерфейса.

Вам не нужно запоминать команды Docker, чтобы выполнить то или иное действие. 

Вы можете просматривать состояние ваших Docker-контейнеров или среды, а также можете быстро получать доступ к журналам. Вы можете видеть практически все, что связано с контейнером/службой, в том числе ASCII-графики, слои образа и т.д.

Кроме того, он поддерживает использование мыши. То есть, если вам нужно что-то сделать быстро, вы можете просто щелкнуть/нажать на кнопку мыши. Это, несомненно, очень удобно. 

Думаете, вы что-то пропустили? Не волнуйтесь! Вы можете добавить в инструмент свою собственную команду, которая ускорит вашу работу.

6. Poco

Poco – не такой популярный инструмент, как многие другие, которые мы здесь упомянули. И тем не менее, он помогает с выполнением некоторых задач, требующих вовлечения CLI.

С помощью Poco вы можете организовывать и управлять проектами Docker/Docker-compose и Kubernetes.

Независимо от сложности проекта он использует простые файлы конфигурации YAML, с помощью которых вы можете найти проект или запустить его в локальной среде. 

Многие разработчики создают контейнеры и управляют ими и даже не задумываются об их организации и о том, как сделать их доступными.

Благо, Poco может избавить вам от необходимости заниматься процессом организации самостоятельно. Вместо этого вы можете просто использовать несложные файлы конфигурации. Помимо этого, он поддерживает контроль версий с помощью Git и SVN, что увеличивает его эффективность.

7. Sen

Если вам нужен хороший функционал и простой пользовательский интерфейс для управления Docker-контейнерами одновременно, Sen может оказаться неплохим вариантом. 

С помощью Seт вы можете управлять контейнерами и образами в интерактивном режиме. Кроме того, вы можете выполнять основные действия со службами и контейнерами, например, запускать их, останавливать, перезапускать, уничтожать или удалять.

Все контейнеры и образы, представленные на панели управления, упорядочены. Этот инструмент предоставляет огромное количество функций – от журналов до обновлений в режиме реального времени, и все это несмотря на всю его простоту.

К сожалению, Sen не настолько управляем, как другие инструменты CLI. Впрочем, он все же получает исправления ошибок. Так что, если вам не нужны всякие навороченные функции, вы можете положиться на этот инструмент. 

8. Skopeo 

В отличие от многих других инструментов, Skopeo отдает приоритет операциям с образами контейнеров и их репозиториями. Он не помогает вам отслеживать/управлять службами внутри Docker-контейнеров, но позволяет управлять вашими образами.

Он может копировать образы из/в реестры хранения, выполнять удаленную проверку образов для анализа свойств и слоев без извлечения самого образа, удалять образы и т.д.

Skopeo не требует root-привилегий для выполнения большей части функций. Кроме того, для работы не требуется демон. С помощью этого инструмента вы можете управлять образами OCI (Open Container Initiative) или Docker v2.

Заключение: CLI-инструменты для эффективного управления Docker

Большинство опытных пользователей пользуются CLI-инструментами для выполнения определенных задач, и управление Docker-контейнерами – не исключение.

Если вы хотите отслеживать систему, управлять службами, организовывать образы или хотите иметь возможность эффективно управлять развертыванием Docker-контейнеров, вам нужен инструмент командной строки.

Даже если вы только учитесь, вам стоит сразу привыкнуть к CLI-инструментам. Это даст вам большую гибкость и контроль над всем, что вы делаете с помощью Docker.

Существует несколько типов CLI-инструментов, но вы можете начать с тех, которые мы рассмотрели выше.

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
DevOps
Скидка 25%
DevOps-инженер с нуля
Научитесь использовать инструменты и методы DevOps для автоматизации тестирования, сборки и развертывания кода, управления инфраструктурой и ускорения процесса доставки продуктов в продакшн. Станьте желанным специалистом в IT-индустрии и претендуйте на работу с высокой заработной платой.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Git Flow - это специальная система ветвления для Git. Она помогает команде лучше контролировать и добавлять различные версии про
img
Docker — популярная платформа виртуализации на уровне ОС. Она поставляет приложения в пакетах (контейнерах), которые, представля
img
Хуки в Git — это bash-скрипты, которые запускаются до или после команд Git, например, коммитов и пушей. Они позволяют автоматизи
img
  Nomad и Kubernetes – это две самые популярные платформы оркестровки, предназначенные для оркестровки динамических рабочих нагр
img
  Давайте узнаем о новом Ops-течении – GitOps! DevOps поспособствовал цифровизации многих компаний. Речь идет о командах разрабо
img
  Канареечное (canary) развёртывание – это метод разработки и развертывания программного обеспечения, который позволяет выпускат
21 ноября
20:00
Бесплатный вебинар
Введение в Docker