Запросить демо
Я подтверждаю свое согласие на обработку компанией КРОК моих персональных данных, указанных в форме, в целях и пределах, установленных законодательством РФ о персональных данных в рамках проводимых мероприятий в течение неопределенного срока
Дополнительные услуги
Оставить заявку
Я подтверждаю свое согласие на обработку компанией КРОК моих персональных данных, указанных в форме, в целях и пределах, установленных законодательством РФ о персональных данных в рамках проводимых мероприятий в течение неопределенного срока
Узнать стоимость
Я подтверждаю свое согласие на обработку компанией КРОК моих персональных данных, указанных в форме, в целях и пределах, установленных законодательством РФ о персональных данных в рамках проводимых мероприятий в течение неопределенного срока
Дополнительные услуги
Попробовать бесплатно
Я подтверждаю свое согласие на обработку компанией КРОК моих персональных данных, указанных в форме, в целях и пределах, установленных законодательством РФ о персональных данных в рамках проводимых мероприятий в течение неопределенного срока
Дополнительные услуги
Быть в теме

Portainer: управление Docker и Swarm при помощи Web-UI

15.01.2019 9 минут 97

Для тех из вас, кому хочется управлять вашими Docker хостами или Swarm кластерами не только из командной строки, но и получать эстетическое удовольствие используя красивый Web-UI интерфейс, рекомендую посмотреть на Portainer. Portainer – это проект с открытым исходным кодом, предоставляющий вам минимальный по размеру (3 Мб) образ Web-интерфейса для управления Docker Engine или Swarm кластером.

Основная панель

Как видно из экрана, Portainer — это отличное решение, которое позволяет не только очень наглядно предоставлять полную информацию по вашим Docker хостам и кластерам, но и эффективно управлять ими, предоставляя вам множество возможностей, вкратце о которых ниже.


Portainer-UI.png

Сервисы (Services)

Если ваш Docker Engine запущен в Swarm mode, вам становится доступно меню управления сервисами Swarm кластера. Процесс создания сервиса продемонстрирован на экране ниже. Прямо из Web-UI вы можете задать все значимые параметры сервиса:

  • Имя самого сервиса
  • Имя образа, из которого будет запущен сервис
  • Указать сторонний Docker реестр
  • Режим работы планировщика
  • Мапинг портов, дисков, сетей
  • А также метки
Portainer-Create-Service-1.png

Контейнеры (Containers)

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

Portainer-Containers.png

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

Образы (Images)

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

Portainer-Images.png

Более того, при клике на каждый конкретный образ можно изменить его тег, получить информацию о размере, дате создания, а также информацию из Dockerfile, такую как, например: CMD, ENTRYPOINT, EXPOSE, VOLUME и переменные окружения внутри контейнера из ENV.

Сети (Networks)

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

Portainer-Networks.png

Диски (Volumes)

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

Portainer-Volumes.png

Кластеры (Swarm)

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

Portainer-Swarm.png

Подключения (Endpoints)

Portainer очень удобно использовать вместе со своей Docker Machine, чтобы иметь возможность управлять сразу всеми вашими Docker хостами и кластерами, определить очередное подключение не составит труда в соответствующем меню. Опция поддержки TLS также имеется.

Portainer-Endpoints.png

Запуск

В принципе, у Portainer очень достойная документация, но зачем же в нее ходить, если можно получить команду для запуска прямо не покидая страницу обзора?

$ docker run -d -p 9000:9000 -v ~/.docker/machine/certs:/certs portainer/portainer -H tcp://192.168.99.100:2376 --tlsverify

Данная команда запустит контейнер, содержащий Portainer на 9000 порту вашего Docker Engine. Я запускаю Portainer на своем ноутбуке. Флаг -v смонтирует сертификаты из моей домашней директории внутрь контейнера, чтобы предоставить мне возможность управлять любым Docker хостом или Swarm кластером, настроенным при помощи моей Docker Machine с использованием TLS аутентификации (очень удобно, когда вы администрируете множество хостов). Флаг -H указывает на IP адрес хоста, которым Portainer будет управлять — это нужно исключительно для формирования primary подключения (см последний скриншот).

Приятной работы!

Сервисы упоминаемые в статье

  1. Публичное облако КРОК

Не пропустите самые важные, интересные и полезные статьи недели

Ваш e-mail успешно подписан.

Смотрите также