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



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

    Portainer


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



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

    Shipyard


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



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

    Admiral


    • Сайт; GitHub.
    • Лицензия: Open Source (Apache License 2.0).
    • ОС: Linux, Mac OS X, Windows.
    • Языки/платформа: Java (фреймворк VMware Xenon).



    Платформа от VMware, предназначенная для автоматизированного деплоя контейнеризированных приложений и управления ими на протяжении жизненного цикла. Позиционируется как легковесное решение, призванное упростить жизнь DevOps-инженерам. Веб-интерфейс позволяет управлять хостами с Docker, контейнерами (+ просмотр статистики и логов), шаблонами (образы, интегрированные с Docker Hub), сетями, реестрами, политиками (какие хосты какими контейнерами будут использоваться и как распределять ресурсы). Умеет проверять состояние контейнеров (health checks). Распространяется и разворачивается как Docker-образ. Работает с Docker 1.12+. (См. также знакомство с программой в блоге VMware с большим количеством скриншотов.)

    DockStation


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



    DockStation — молодой проект, созданный белорусскими программистами (которые, кстати, ищут инвесторов для его дальнейшего развития). Две главные особенности — ориентированность на разработчиков (не на DevOps-инженеров или сисадминов) с полноценной поддержкой Docker Compose и закрытость кода (бесплатно для использования, а за деньги авторы предлагают персональную поддержку и доработку возможностей). Позволяет не только управлять образами (поддерживается 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.
    • Лицензия: Open Source (MIT License).
    • ОС: Linux, Mac OS X, Windows.
    • Языки/платформа: Electron, Scala.js (+ React on Scala.js).



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

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


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

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

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

    P.S.


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

    Флант 265,23
    Специалисты по DevOps и высоким нагрузкам в вебе
    Поделиться публикацией
    Комментарии 21
    • 0
      Хорошая подборка… консоль тоже иногда надоедает…
      • 0
        А Portainer не умеет запускать по docker-compose'у? Что-то в документации у них ни слова нет про это.
        • 0
          Присоединяюсь к вопросу.
          • +1
            Не умеет, но issue есть
            • 0
              … а в нем (Docker compose support #257) даже недавно появилось:
              To anyone following this issue, I have a WIP for compose-support available. Details are in #959
              The WIP image is available under portainer/portainer:pr257 (build for Linux AMD64 only).

              Работа ещё идёт, но перспективы прослеживаются.
          • 0

            Немного добавлю в копилочку: ctop
            Все таки не гуй, но все равно с приятным интерфейсом

          • +1
            VMWare Admiral?
            • 0
              Спасибо большое, добавил в обзор!
            • +2
              Ух ты, круто, наш DockStation попал в подборку. Спасибо.
              В скором времени начну цикл статей где буду рассказывать в чем наши отличия от аналогов, т.к. «дьявол кроется в мелочах», которых очень много.
              • +1
                Не обижайтесь, но для людей, которые делают превью видео на сайте, а по клику показывают «Coming soon» есть в аду отдельный котел :)

                Срочно пилите видяшку.
                • 0
                  Каюсь. Заглушка висит давно. Вначале у нас была идея снять красивый, профессиональный ролик, но не сложилось финансово. Думаю в ближайшее время запишем небольшое видео-ревью, чтобы за пару минут стало понятно кому, для чего и в чем отличия от других.
                  • 0
                    по клику показывают «Coming soon» есть в аду отдельный котел :)


                    правильно сказать — «в аде есть помещение для отдельного котла, но на двери висит точно та же табличка. А наказание при этом состоит в бесконечном ожидании котла, когда каждую секунду вечности кажется, что еще немного — и его привезут.»
                • 0
                  Хорошая подборка, но собственно не хватает более подробного описания возможностей и сравнения продуктов между собой. Но в любом случае спасибо, буду изучать.
                  • +1
                    Есть ещё отличнейший продукт www.kontena.io. Правда есть ограничения на использование UI, но консоль у них достаточно мощная. Достойная альтернатива docker-cloud.
                  • 0

                    Эх, сравнение бы, а не обзор. Используем racher и нет какого-либо опыта с другими GUI для управления докер-контейнерами. Интересно именно с точки зрения разработчика.

                    • 0

                      Какжетак? Скриншоты с макоси. Надо срочно переделать на линуксе. Он же для этого идеально подходит.

                      • 0
                        Лемон рулит!
                        • +1
                          Добавлю еще Haven, список фичей в свое время собирался на ЛОРе

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

                          Самое читаемое