- PVSM.RU - https://www.pvsm.ru -

Обзор GUI-интерфейсов для управления Docker-контейнерами

Обзор GUI-интерфейсов для управления Docker-контейнерами - 1

Работа с Docker в консоли — привычная для многих рутина. Тем не менее, бывают случаи, когда GUI-/веб-интерфейс может оказаться полезным даже для них. В статье представлен обзор наиболее заметных на сегодняшний день решений, авторы которых попытались предложить более удобные (или подходящие для каких-то случаев) интерфейсы для знакомства с Docker или даже обслуживания больших его инсталляций. Некоторые из проектов совсем молоды, а иные — наоборот, уже отмирают…

Portainer

  • Сайт [1]; GitHub [2]; Gitter [3].
  • Лицензия: Open Source (zlib License и другие).
  • ОС: Linux, Mac OS X, Windows.
  • Языки/платформа: Go, JavaScript (Angular).
  • Демо-версия [4] (admin / tryportainer).

Обзор GUI-интерфейсов для управления Docker-контейнерами - 2

Portainer (ранее известен как UI for Docker) — самый популярный веб-интерфейс для работы с Docker-хостами и кластерами Docker Swarm. Запускается очень просто — развёртыванием Docker-образа, которому в качестве параметра передаётся адрес/сокет Docker-хоста. Позволяет управлять контейнерами, образами (умеет забирать их из Docker Hub), сетями, томами, секретами. Поддерживает Docker 1.10+ (и Docker Swarm 1.2.3+). При просмотре контейнеров для каждого из них доступна базовая статистика (использование ресурсов, процессы), логи, подключение к консоли (веб-терминал xterm.js). Имеются свои списки доступов, позволяющие ограничивать пользователям Portainer права на различные операции в интерфейсе.

Kitematic (Docker Toolbox)

Обзор GUI-интерфейсов для управления Docker-контейнерами - 3

Стандартный GUI для пользователей Docker в Mac OS X и Windows, который вошёл в состав Docker Toolbox — инсталлятора набора утилит, включающих в себя также Docker Engine, Compose и Machine. Имеет минимальный набор функций, обеспечивающих загрузку образов из Docker Hub, управление базовыми настройками контейнеров (включая тома, сети), просмотр логов и подключение к консоли.

Shipyard

  • Сайт [9]; GitHub [10].
  • Лицензия: Open Source (Apache License 2.0).
  • ОС: Linux, Mac OS X.
  • Языки/платформа: Go, Node.js.

Обзор GUI-интерфейсов для управления Docker-контейнерами - 4

Shipyard — это не просто интерфейс, а система управления ресурсами Docker, в основу которой заложено наличие своего API. API в Shipyard — RESTful на базе формата JSON, совместим на 100% с Docker Remote API, предлагает дополнительные возможности (в частности — аутентификацию и управление списками доступа, логирование всех выполняемых операций). Этот API и является той базой, вокруг которой уже построен веб-интерфейс. Для хранения служебной информации, не относящейся напрямую к контейнерам и образам, в Shipyard используется RethinkDB. Веб-интерфейс позволяет управлять контейнерами (включая просмотр статистики и логов, подключение к консоли), образами, узлами кластера Docker Swarm, приватными реестрами (Registries).

DockStation

  • Сайт [11]; GitHub [12] (без исходного кода).
  • Лицензия: проприетарная.
  • ОС: Linux, Mac OS X, Windows.
  • Языки/платформа: Electron (Chromium, Node.js).

Обзор GUI-интерфейсов для управления Docker-контейнерами - 5

DockStation — молодой проект, созданный [13] белорусскими программистами (которые, кстати, ищут инвесторов [14] для его дальнейшего развития). Две главные особенности — ориентированность на разработчиков (не на DevOps-инженеров или сисадминов) и закрытость кода (бесплатно для личного использования и стартапов, платно — для компаний). Позволяет не только управлять образами (поддерживается Docker Hub) и контейнерами (+ статистика и логи), но и заводить проекты с визуализацией связей контейнеров, задействованных в проекте. Другая особенность — наличие парсера (находится в бета-версии), позволяющего конвертировать команды docker run в формат Docker Compose. Работает с Docker 1.10.0+ (Linux) и 1.12.0 (Mac + Windows), Docker Compose 1.6.0+.

Simple Docker UI

  • GitHub [15].
  • Лицензия: Open Source (MIT License).
  • ОС: Linux, Mac OS X, Windows.
  • Языки/платформа: Electron, Scala.js (+ React on Scala.js).

Обзор GUI-интерфейсов для управления Docker-контейнерами - 6

Простой интерфейс для работы с Docker, использующий Docker Remote API. Позволяет управлять контейнерами и образами (с поддержкой Docker Hub), подключаться к консоли, просматривать историю событий. Имеет механизмы удаления неиспользуемых контейнеров и образов. Проект находится в бета-версии и развивается очень медленно (реальная активность, судя по коммитам, утихла в феврале этого года).

Другие варианты

В обзор не попали:

  • Rancher [16] — платформа управления контейнерами, обладающая функциями оркестровки и поддержкой Kubernetes. Open Source (Apache License 2.0); работает в Linux; написана на Java. Имеет веб-интерфейс Rancher UI [17] на Node.js.
  • Data Pulley [18] — простая утилита, имеющая минимум функций и документации. Open Source (MIT License); работает в Linux (имеется только пакет для Ubuntu); написана на Python. Поддерживает Docker Hub для образов, просмотр логов для контейнеров.
  • Panamax [19] — проект, задававшийся целью «сделать деплой сложных контейнеризированных приложений таким простым, как drag-n-drop». Для этого был создан свой каталог шаблонов для деплоя приложений (Panamax Public Templates [20]), результаты из которого показываются при поиске образов/приложений наравне с данными из Docker Hub. Open Source (Apache License 2.0); работает в Linux, Mac OS X, Windows; написан на Ruby. Интегрирован с ОС CoreOS и системой для оркестровки Fleet. Судя по видимой в интернете активности, перестал поддерживаться в 2015 году.
  • Dockly [21]консольный графический интерфейс для управления контейнерами и образами Docker. Open Source (MIT License); написан на JavaScript/Node.js.

Напоследок: как же выглядит GUI в Dockly? Осторожно, GIF на 3,4 Мб!

Обзор GUI-интерфейсов для управления Docker-контейнерами - 7

P.S.

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

Автор: shurup

Источник [25]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/sistemnoe-administrirovanie/264169

Ссылки в тексте:

[1] Сайт: https://portainer.io/

[2] GitHub: https://github.com/portainer/portainer

[3] Gitter: https://gitter.im/portainer/Lobby

[4] Демо-версия: http://demo.portainer.io/

[5] Сайт: https://kitematic.com/

[6] страница Docker Toolbox: https://www.docker.com/products/docker-toolbox

[7] GitHub: https://github.com/docker/kitematic

[8] форум: https://forums.docker.com/c/open-source-projects/kitematic

[9] Сайт: https://shipyard-project.com/

[10] GitHub: https://github.com/shipyard/shipyard

[11] Сайт: https://dockstation.io/

[12] GitHub: https://github.com/DockStation/dockstation

[13] созданный: https://dev.by/lenta/main/kak-my-eto-sdelali-dockstation-servis-dlya-upravlenie-proektami-baziruyuschimisya-na-docker

[14] ищут инвесторов: https://www.facebook.com/igor.lemon.kozlovsky/posts/10212177835394616

[15] GitHub: https://github.com/felixgborrego/simple-docker-ui

[16] Rancher: http://rancher.com/rancher

[17] Rancher UI: https://github.com/rancher/ui

[18] Data Pulley: http://datapulley.com/

[19] Panamax: http://panamax.io/

[20] Panamax Public Templates: https://github.com/CenturyLinkLabs/panamax-public-templates

[21] Dockly: https://github.com/lirantal/dockly

[22] Шпаргалка с командами Docker: https://habrahabr.ru/company/flant/blog/336654/

[23] Play with Docker — онлайн-сервис для практического знакомства с Docker: https://habrahabr.ru/company/flant/blog/334470/

[24] Vulnerable Docker VM — виртуалка-головоломка по Docker и pentesting: https://habrahabr.ru/company/flant/blog/337154/

[25] Источник: https://habrahabr.ru/post/338332/