Краткий сравнительный обзор GUI решений для работы с Docker

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

    1. DockStation
    2. Portainer
    3. Kitematic
    4. Shipyard

    Хотелось сделать пометку, что все эти инструменты затрагивают проблемы по взаимодействию с Docker. Если Вы DevOps и у вас стоит задача развертывания, деплоя, масштабирования и т.п., то вышеописанные решения маловероятно что чем-то смогут вам помочь. Но наверняка вам сможет помочь Rancher.

    Итак, начнем:

    DockStation — мощный функциональный комбайн для работы с Docker. Главным преимуществом является ориентация на проектную разработку под Docker и работа с Docker Compose.


    Сайт: dockstation.io

    Преимущества: Работа с Docker Compose. Нативная поддержка Compose конфигураций, в следствие чего получается полноценная поддержка всех возможностей Docker функционала. Очень богатый функционал в виде возможностей работы над Docker проектами в целом, работа с удаленными нодами, мониторинг ресурсов и многое, многое другое. Очень быстрая и дружелюбная поддержка.


    Недостатки: Закрытый исходный код.

    image

    Portainer — мощное решение для работы и конфигурирования Docker контейнеров. Представляет из себя Web приложение которое позволяет проводить настройку и манипуляции с контейнерами. В отличие от Kitematic и Shipyard имеет очень богатый функционал, который позволяет проводить очень качественную и полноценную настройку.


    Сайт: portainer.io

    Преимущества: OpenSource. Богатый функционал, который позволяет как полноценно настроить проект, так и управлять контейнерами этого проекта. Позволяет подключаться к удаленным нодам и просматривать статистику контейнеров.


    Недостатки: Непродуманный и перегруженный UI. Работа в веб версии для многих может быть неудобной. Неудобен если работа происходит более чем с 1-м проектом.

    image

    Kitematic — официальное приложение от Docker. Kitematic это OpenSource решение которое было выкуплено компанией Docker в 2015-м году. Основное назначение и применение — управление и конфигурирование отдельных контейнеров. 


    Сайт: kitematic.com

    Преимущества: OpenSource. Официальное приложение.


    Недостатки: Приложение очень ограниченное в возможностях. Очень слабое покрытие функционала Docker-а. Неудобен если работа происходит более чем с 1-м проектом.

    image

    Shipyard — решение для работы с контейнерами Docker. Представляет из себя Web приложение которое позволяет проводить настройку и базовые манипуляции с Docker контейнерами. 


    Сайт: shipyard-project.com

    Преимущества: OpenSource. Простой в использовании.

    
Недостатки: Так же как и Kitematic имеет ограниченный функционал. Работа в веб версии для многих может быть неудобной. Неудобен если работа происходит более чем с 1-м проектом.


    image

    Таблица функций, которые вы наверняка будете использовать:
    DockStation Kitematic Portainer Shipyard
    Работа с Docker Compose + - - -
    Работа с Docker Machine + + + +
    Конфигурирование отдельных контейнеров - + + +
    Базовые манипуляции с контейнерами (старт, стоп, рестарт, ...) + + + +
    Вывод логов контейнеров + + + +
    Поиск по логам + - - -
    Группировка и поиск контейнеров + - - -
    Мониторинг потребления ресурсов + - + +
    Работа с удаленными нодами + - + -
    Шаблоны приложений - - + -
    Работа с кастомными хабами - - + -

    Выводы:

    Каждый инструмент имеет свои плюсы и минусы. Подходить к выбору инструмента необходимо из поставленной задачи. Если у вас всего один проект в работе и на локальной машине, вам не нужен функционал больше чем запустить, остановить, перезагрузить контейнер, посмотреть его логи или настроить что-то примитивное, то Kitematic будет являться хорошим решением. Если же стоят такие же условия, но нужно это делать на удаленной машине, то для этого вполне подойдет Shipyard.

    Если же у вас более серьезные проекты, то остановиться можно на 2-х решениях DockStation и Portainer. По своим функциональным возможностям эти решения очень мощные. Если вы не любите заморачиваться с развертыванием приложений, если на ваших проектах используется Docker Compose или собираетесь переходить на Docker Compose, если вы работаете более чем с 1-м проектом на Docker, если есть необходимость мониторинга состояния и потребления ресурсов как отдельных контейнеров, так и проектов в целом, то однозначно для работы более подходящим решением будет являться DockStation. На случай если работа ведется над одним проектом и вам необходима веб панель и возможность конфигурирования отдельных контейнеров, то Portainer будет являться хорошим выбором.

    UPD:
    На момент написания статьи произошло неприятное событие. Проект Shipyard официально мертв.
    DockStation
    15,00
    Инструменты для работы с Docker-ом
    Поделиться публикацией

    Комментарии 21

      0
      Не сразу заметил что вы DockStation )))
      А не поделитесь стеком на котором разрабатывали приложение по скриншотам выглядит приятно но так как код закрыт было бы интересно узнать. Местами кажется что там bootstrap на UI
        0
        Штирлиц еще никогда не был так близок к провалу


        Да, конечно. Electron + React + Redux + Saga. UI сделан с помощью ANT DESIGN.

        P.S. можете подписаться, т.к. в скором времени в свет выйдет один небольшой OpenSource проект, на котором будет базироваться сл. версия DockStation.
        0
        Решил потрогать ваш продукт, поставил на мак, пытаюсь подцепиться к серверу в локалке — а оно не понимает ssh-ed25519.
          0
          Бросьте issue на GitHub, разберемся там.
            0
            ок
            0
            И на 12" макбук окно не влезает полностью на экран.
              0
              Это уже есть в issues, как и на Air, в сл. версии будет пофикшено.
            0
            Начал пробовать по списку. Что-то Kitematic уводит компьютер в BSoD при каждом запуске. Из консоли контейнеры рабочие. Посмотрю другие программы.
              0
              Не могу сказать что у них там. На macOS вроде работает ок.
              Можете оставить issue у них на GitHub, но правда там поддержка не очень расторопливая.
              0
              все еще хотелось бы краткого гайда по вашему продукту. :)
                0
                Все хотим сделать гайд видео, да все как-то руки не доходят, т.к. все время заняты разработкой. Постараемся решить проблему в ближайшее время, а если точнее, то до Нового Года.
                0

                Странно, что ни втексте, ни в таблице, нет ни слова про поддержку docker swarm mode. Никто не поддерживает, или настолько базовая вещь, что недостойна упоминания?

                  0
                  В разработке и тестировании не видел чтобы он использовался. А работа с контейнерами в Swarm Mode поддерживается всеми инструментами. В DockStation есть только одна особенность, с композом невозможно работать напрямую после деплоя.
                  image
                    0
                    В разработке и тестировании не видел чтобы он использовался

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


                    А работа с контейнерами в Swarm Mode поддерживается всеми инструментами.

                    Имеется в виду не просто работа с контейнерами, а поддержка всех новых сущностей: стэков, сервисов, секретов, конфигов и т. д.

                      0
                      Лозунг на чем прод, на том и дев имеет место быть.
                      Только:
                      1) Ваши разработчики конкретно используют включенный Swarm mode?
                      2) Какие плюсы ловите с того, что Докер будет работать в режиме кластера?
                      3) Немного не понял за разные конфиги. Что вы имели ввиду? Или это не ок, что мой Compose конфиг одинаково работает как в включенным Swarm mode так и без него.

                      Если вам нужна работа больше чем управление контейнерами, при этом Вам до сих пор не подходит Rancher, то здесь либо DockStation, либо Portainer. У Portainer-а это внедрено и настраивается отдельными пунктами. В DockStation это все поддерживается, т.к. поддерживается композом, но отдельных пунктов по визуализации нету, т.к. в рамках текущих задач это не является актуальным. Да и не могу понять одной детали: для чего это все разработчикам и тестировщикам? У которых задачи по взаимодействию с Докером обычно лежат в плоскости посмотреть что работает, а что нет, запустить/остановить контейнер, подключиться к удаленке, посмотреть логи, посмотреть что жрет ресурсы. Для DevOps-ов я специально оставил сноску в самом начале статьи.
                        0
                        1) Ваши разработчики конкретно используют включенный Swarm mode?

                        Да. Почему нет? Одна команда и готов кластер.


                        2) Какие плюсы ловите с того, что Докер будет работать в режиме кластера?

                        Единые обвязки деплоя, отличающиеся только параметрами (в частности количество реплик — для дев-тест только 1, для прода 3 по умолчанию) и монтированием томов на локальные папки в дев-режиме. Поддержка одних и тех же фич одним и тем же способом.


                        3) Немного не понял за разные конфиги. Что вы имели ввиду? Или это не ок, что мой Compose конфиг одинаково работает как в включенным Swarm mode так и без него.

                        Ну, есть возможности похожие по результату, но различающиеся по реализации в docker/docker-compose и docker swarm mode. Навскидку сразу же — конфиги и секреты поддерживаются только в кластере (если ничего не пропустил), для обычного режима придётся как-то эмулировать через монтирование локальных файлов. Главное, что в двух местах надо будет писать одно и то же и не забывать менять синхронно, чтобы не получить "а у меня на машине всё работает".


                        Разработчикам локальный кластер нужен, чтобы вводить туда свои сервисы, девопсы потом допиливают под особенности эксплуатации, но никто лучше разработчика не знает, какие внешние зависимости нужны тому или иному сервису.контейнеру.

                  0
                  Привет! DockStation интересный проект! То что надо т.к. нет нормального средства для работы с Docker Compose проектами!

                  Хотелось бы больше инструментов для работы с логами
                  — фильтрация
                  — поиск по всем логам проекта Docker Compose.
                  — «интеллектуальный» фильтр по дате/времени — сегодня/1 мин/5 мин/30 мин/1 час
                    0
                    Спасибо.
                    1) Что Вы имеете ввиду под фильтрацией? Поиск обычный?
                    2) Пока сложно представить как это будет выглядеть, т.к. там будут в перемешку логи с разных контейнеров.
                    3) Т.е. вывод последних логов за N времени?
                      0
                      1) в принципе да но «прилипающая», т.е. динамически фильтрующая новые строки
                      2) их можно тэгировать. если с п.1) совмещено представьте себе это будет бомба! можно найти все записи везде по одному ID например
                      3) да. это тоже должна быть прилипающая фишка
                    0

                    А как насчёт BigBoat? Они поддерживают и compose, и swarm mode.

                      0
                      Пока не использовал. Но судя по скринам это что-то похоже на Ранчер…
                      Ради интереса посмотрю в ближайшее время.

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

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