Хотелось сделать пометку, что все эти инструменты затрагивают проблемы по взаимодействию с Docker. Если Вы DevOps и у вас стоит задача развертывания, деплоя, масштабирования и т.п., то вышеописанные решения маловероятно что чем-то смогут вам помочь. Но наверняка вам сможет помочь Rancher.
Итак, начнем:
DockStation — мощный функциональный комбайн для работы с Docker. Главным преимуществом является ориентация на проектную разработку под Docker и работа с Docker Compose.?
Сайт: dockstation.io
Преимущества: Работа с Docker Compose. Нативная поддержка Compose конфигураций, в следствие чего получается полноценная поддержка всех возможностей Docker функционала. Очень богатый функционал в виде возможностей работы над Docker проектами в целом, работа с удаленными нодами, мониторинг ресурсов и многое, многое другое. Очень быстрая и дружелюбная поддержка.?
Недостатки: Закрытый исходный код.
Portainer — мощное решение для работы и конфигурирования Docker контейнеров. Представляет из себя Web приложение которое позволяет проводить настройку и манипуляции с контейнерами. В отличие от Kitematic и Shipyard имеет очень богатый функционал, который позволяет проводить очень качественную и полноценную настройку.?
Сайт: portainer.io
Преимущества: OpenSource. Богатый функционал, который позволяет как полноценно настроить проект, так и управлять контейнерами этого проекта. Позволяет подключаться к удаленным нодам и просматривать статистику контейнеров.?
Недостатки: Непродуманный и перегруженный UI. Работа в веб версии для многих может быть неудобной. Неудобен если работа происходит более чем с 1-м проектом.
Kitematic — официальное приложение от Docker. Kitematic это OpenSource решение которое было выкуплено компанией Docker в 2015-м году. Основное назначение и применение — управление и конфигурирование отдельных контейнеров. ?
Сайт: kitematic.com
Преимущества: OpenSource. Официальное приложение.?
Недостатки: Приложение очень ограниченное в возможностях. Очень слабое покрытие функционала Docker-а. Неудобен если работа происходит более чем с 1-м проектом.
Shipyard — решение для работы с контейнерами Docker. Представляет из себя Web приложение которое позволяет проводить настройку и базовые манипуляции с Docker контейнерами. ?
Сайт: shipyard-project.com
Преимущества: OpenSource. Простой в использовании.
?Недостатки: Так же как и Kitematic имеет ограниченный функционал. Работа в веб версии для многих может быть неудобной. Неудобен если работа происходит более чем с 1-м проектом.?
Таблица функций, которые вы наверняка будете использовать:
DockStation | Kitematic | Portainer | Shipyard | |
---|---|---|---|---|
Работа с Docker Compose | + | - | - | - |
Работа с Docker Machine | + | + | + | + |
Конфигурирование отдельных контейнеров | - | + | + | + |
Базовые манипуляции с контейнерами (старт, стоп, рестарт, ...) | + | + | + | + |
Вывод логов контейнеров | + | + | + | + |
Поиск по логам | + | - | - | - |
Группировка и поиск контейнеров | + | - | - | - |
Мониторинг потребления ресурсов | + | - | + | + |
Работа с удаленными нодами | + | - | + | - |
Шаблоны приложений | - | - | + | - |
Работа с кастомными хабами | - | - | + | - |
Выводы:
Каждый инструмент имеет свои плюсы и минусы. Подходить к выбору инструмента необходимо из поставленной задачи. Если у вас всего один проект в работе и на локальной машине, вам не нужен функционал больше чем запустить, остановить, перезагрузить контейнер, посмотреть его логи или настроить что-то примитивное, то Kitematic будет являться хорошим решением. Если же стоят такие же условия, но нужно это делать на удаленной машине, то для этого вполне подойдет Shipyard.
Если же у вас более серьезные проекты, то остановиться можно на 2-х решениях DockStation и Portainer. По своим функциональным возможностям эти решения очень мощные. Если вы не любите заморачиваться с развертыванием приложений, если на ваших проектах используется Docker Compose или собираетесь переходить на Docker Compose, если вы работаете более чем с 1-м проектом на Docker, если есть необходимость мониторинга состояния и потребления ресурсов как отдельных контейнеров, так и проектов в целом, то однозначно для работы более подходящим решением будет являться DockStation. На случай если работа ведется над одним проектом и вам необходима веб панель и возможность конфигурирования отдельных контейнеров, то Portainer будет являться хорошим выбором.
UPD:
На момент написания статьи произошло неприятное событие. Проект Shipyard официально мертв.
Комментарии (19)
l0rda
08.11.2017 16:54Решил потрогать ваш продукт, поставил на мак, пытаюсь подцепиться к серверу в локалке — а оно не понимает ssh-ed25519.
SvyatoslavMC
08.11.2017 17:25Начал пробовать по списку. Что-то Kitematic уводит компьютер в BSoD при каждом запуске. Из консоли контейнеры рабочие. Посмотрю другие программы.
Lemon007 Автор
08.11.2017 17:27Не могу сказать что у них там. На macOS вроде работает ок.
Можете оставить issue у них на GitHub, но правда там поддержка не очень расторопливая.
LiguidCool
08.11.2017 21:02все еще хотелось бы краткого гайда по вашему продукту. :)
Lemon007 Автор
08.11.2017 22:01Все хотим сделать гайд видео, да все как-то руки не доходят, т.к. все время заняты разработкой. Постараемся решить проблему в ближайшее время, а если точнее, то до Нового Года.
VolCh
08.11.2017 22:27Странно, что ни втексте, ни в таблице, нет ни слова про поддержку docker swarm mode. Никто не поддерживает, или настолько базовая вещь, что недостойна упоминания?
Lemon007 Автор
08.11.2017 22:37В разработке и тестировании не видел чтобы он использовался. А работа с контейнерами в Swarm Mode поддерживается всеми инструментами. В DockStation есть только одна особенность, с композом невозможно работать напрямую после деплоя.
VolCh
09.11.2017 09:52В разработке и тестировании не видел чтобы он использовался
Используется. В конце концов, если он используется в продакшене, то логично использовать то же в разработке и тестировании, пускай и без масштабирования как самих контейнеров, так и нод кластера: по одному контенейру на единственно йлокальной ноде, то есть отличия дева от прода лишь в параметрах конфигурации, а не в ещё одной конфигурации.
А работа с контейнерами в Swarm Mode поддерживается всеми инструментами.
Имеется в виду не просто работа с контейнерами, а поддержка всех новых сущностей: стэков, сервисов, секретов, конфигов и т. д.
Lemon007 Автор
09.11.2017 11:25Лозунг на чем прод, на том и дев имеет место быть.
Только:
1) Ваши разработчики конкретно используют включенный Swarm mode?
2) Какие плюсы ловите с того, что Докер будет работать в режиме кластера?
3) Немного не понял за разные конфиги. Что вы имели ввиду? Или это не ок, что мой Compose конфиг одинаково работает как в включенным Swarm mode так и без него.
Если вам нужна работа больше чем управление контейнерами, при этом Вам до сих пор не подходит Rancher, то здесь либо DockStation, либо Portainer. У Portainer-а это внедрено и настраивается отдельными пунктами. В DockStation это все поддерживается, т.к. поддерживается композом, но отдельных пунктов по визуализации нету, т.к. в рамках текущих задач это не является актуальным. Да и не могу понять одной детали: для чего это все разработчикам и тестировщикам? У которых задачи по взаимодействию с Докером обычно лежат в плоскости посмотреть что работает, а что нет, запустить/остановить контейнер, подключиться к удаленке, посмотреть логи, посмотреть что жрет ресурсы. Для DevOps-ов я специально оставил сноску в самом начале статьи.VolCh
11.11.2017 18:011) Ваши разработчики конкретно используют включенный Swarm mode?
Да. Почему нет? Одна команда и готов кластер.
2) Какие плюсы ловите с того, что Докер будет работать в режиме кластера?
Единые обвязки деплоя, отличающиеся только параметрами (в частности количество реплик — для дев-тест только 1, для прода 3 по умолчанию) и монтированием томов на локальные папки в дев-режиме. Поддержка одних и тех же фич одним и тем же способом.
3) Немного не понял за разные конфиги. Что вы имели ввиду? Или это не ок, что мой Compose конфиг одинаково работает как в включенным Swarm mode так и без него.
Ну, есть возможности похожие по результату, но различающиеся по реализации в docker/docker-compose и docker swarm mode. Навскидку сразу же — конфиги и секреты поддерживаются только в кластере (если ничего не пропустил), для обычного режима придётся как-то эмулировать через монтирование локальных файлов. Главное, что в двух местах надо будет писать одно и то же и не забывать менять синхронно, чтобы не получить "а у меня на машине всё работает".
Разработчикам локальный кластер нужен, чтобы вводить туда свои сервисы, девопсы потом допиливают под особенности эксплуатации, но никто лучше разработчика не знает, какие внешние зависимости нужны тому или иному сервису.контейнеру.
huksley
09.11.2017 12:04Привет! DockStation интересный проект! То что надо т.к. нет нормального средства для работы с Docker Compose проектами!
Хотелось бы больше инструментов для работы с логами
— фильтрация
— поиск по всем логам проекта Docker Compose.
— «интеллектуальный» фильтр по дате/времени — сегодня/1 мин/5 мин/30 мин/1 часLemon007 Автор
09.11.2017 12:14Спасибо.
1) Что Вы имеете ввиду под фильтрацией? Поиск обычный?
2) Пока сложно представить как это будет выглядеть, т.к. там будут в перемешку логи с разных контейнеров.
3) Т.е. вывод последних логов за N времени?huksley
11.11.2017 13:121) в принципе да но «прилипающая», т.е. динамически фильтрующая новые строки
2) их можно тэгировать. если с п.1) совмещено представьте себе это будет бомба! можно найти все записи везде по одному ID например
3) да. это тоже должна быть прилипающая фишка
kirill3333
Не сразу заметил что вы DockStation )))
А не поделитесь стеком на котором разрабатывали приложение по скриншотам выглядит приятно но так как код закрыт было бы интересно узнать. Местами кажется что там bootstrap на UI
Lemon007 Автор
Да, конечно. Electron + React + Redux + Saga. UI сделан с помощью ANT DESIGN.
P.S. можете подписаться, т.к. в скором времени в свет выйдет один небольшой OpenSource проект, на котором будет базироваться сл. версия DockStation.