
Praca z Dockerem w konsoli to rutyna dla wielu. Niemniej jednak, zdarzają się sytuacje, w których interfejs graficzny GUI może okazać się pomocny nawet dla nich. W artykule przedstawiono przegląd najbardziej zauważalnych rozwiązań, których autorzy starali się zaproponować bardziej wygodne (lub odpowiednie dla pewnych przypadków) interfejsy do zapoznania się z Dockerem lub nawet do obsługi dużych jego instalacji. Niektóre z projektów są całkiem młode, podczas gdy inne — wręcz przeciwnie, już wymierają…
Portainer
- ; ; .
- Licencja: Open Source (licencja zlib i inne).
- System operacyjny: Linux, Mac OS X, Windows.
- Języki/platforma: Go, JavaScript (Angular).
- (admin / tryportainer).

Portainer (wcześniej znany jako UI for Docker) to najpopularniejszy interfejs webowy do pracy z hostami Docker i klastrami Docker Swarm. Uruchamia się bardzo prosto — poprzez wdrożenie obrazu Docker, któremu jako parametr przekazywany jest adres/gniazdo hosta Docker. Umożliwia zarządzanie kontenerami, obrazami (potrafi pobierać je z Docker Hub), sieciami, wolumenami, sekretami. Wspiera Docker 1.10+ (i Docker Swarm 1.2.3+). Przy przeglądaniu kontenerów dla każdego z nich dostępna jest podstawowa statystyka (zużycie zasobów, procesy), logi, połączenie z konsolą (webowy terminal xterm.js). Posiada własne listy dostępów, pozwalające ograniczać użytkownikom Portainer prawa do różnych operacji w interfejsie.
Kitematic (Docker Toolbox)
- (+ ); ; .
- Licencja: Open Source (licencja Apache 2.0).
- System operacyjny: Mac OS X, Windows.
- Języki/platforma: Electron, Node.js, React i AltJS.

Standardowy GUI dla użytkowników Dockera na Mac OS X i Windows, który wchodzi w skład Docker Toolbox — instalatora zestawu narzędzi, który zawiera także Docker Engine, Compose i Machine. Posiada minimalny zestaw funkcji, zapewniających pobieranie obrazów z Docker Hub, zarządzanie podstawowymi ustawieniami kontenerów (w tym wolumenami, sieciami), przeglądanie logów i łączenie z konsolą.
Shipyard
- ; .
- Licencja: Open Source (licencja Apache 2.0).
- System operacyjny: Linux, Mac OS X.
- Języki/platforma: Go, Node.js.

Shipyard to nie tylko interfejs, ale system zarządzania zasobami Docker, oparty na własnym API. API w Shipyard to RESTful zbudowane na formacie JSON, w pełni kompatybilne z Docker Remote API, oferujące dodatkowe możliwości (w szczególności - autoryzację i zarządzanie listami dostępu, logowanie wszystkich wykonywanych operacji). To API jest podstawą, wokół której zbudowany jest interfejs webowy. Do przechowywania informacji pomocniczych, które nie są bezpośrednio związane z kontenerami i obrazami, Shipyard używa RethinkDB. Interfejs webowy umożliwia zarządzanie kontenerami (w tym przeglądanie statystyk i logów, podłączenie do konsoli), obrazami, węzłami klastra Docker Swarm, prywatnymi rejestrami (Registries).
Admiral
- ; .
- Licencja: Open Source (licencja Apache 2.0).
- System operacyjny: Linux, Mac OS X, Windows.
- Języki/platforma: Java (framework VMware Xenon).

Platforma od VMware, przeznaczona do automatyzacji wdrażania kontenerowych aplikacji i zarządzania nimi w trakcie cyklu życia. Pozycjonowana jako lekkie rozwiązanie, mające na celu uproszczenie pracy inżynierów DevOps. Interfejs webowy umożliwia zarządzanie hostami z Docker, kontenerami (+ przegląd statystyk i logów), szablonami (obrazy zintegrowane z Docker Hub), sieciami, rejestrami i politykami (jakie hosty będą używane z jakimi kontenerami oraz jak rozdzielać zasoby). Umożliwia sprawdzanie stanu kontenerów (health checks). Jest dystrybuowana i wdrażana jako obraz Docker. Działa z Docker 1.12+. (Zobacz także wprowadzenie do programu w z dużą liczbą zrzutów ekranu.)
DockStation
- ; (bez kodu źródłowego).
- Licencja: własnościowa (freeware).
- System operacyjny: Linux, Mac OS X, Windows.
- Języki/platforma: Electron (Chromium, Node.js).

DockStation to młody projekt, białoruskich programistów (którzy zresztą, do dalszego rozwoju). Dwie główne cechy to orientacja na deweloperów (a nie na inżynierów DevOps czy administratorów systemów) z pełnym wsparciem dla Docker Compose oraz zamknięty kod (bezpłatnie do użytku, a za opłatą autorzy oferują osobiste wsparcie i rozwój funkcjonalności). Umożliwia nie tylko zarządzanie obrazami (wsparcie dla Docker Hub) i kontenerami (+ statystyki i logi), ale również tworzenie projektów z wizualizacją powiązań kontenerów wykorzystywanych w projekcie. Dostępny jest również parser (w wersji beta), który pozwala na konwertowanie komend. docker run w formacie Docker Compose. Działa z Docker 1.10.0+ (Linux) i 1.12.0 (Mac + Windows), Docker Compose 1.6.0+.
Prosty interfejs Docker
- .
- Licencja: Open Source (MIT License).
- System operacyjny: Linux, Mac OS X, Windows.
- Języki/platforma: Electron, Scala.js (+ React na Scala.js).

Prosty interfejs do pracy z Dockerem, korzystający z Docker Remote API. Umożliwia zarządzanie kontenerami i obrazami (z obsługą Docker Hub), podłączanie do konsoli, przeglądanie historii zdarzeń. Posiada mechanizmy usuwania nieużywanych kontenerów i obrazów. Projekt jest w wersji beta i rozwija się bardzo wolno (rzeczywista aktywność, sądząc po commitach, ustała w lutym tego roku).
Inne opcje
Nie ujęte w przeglądzie:
- — platforma do zarządzania kontenerami, posiadająca funkcje orkiestracji i wsparcie dla Kubernetes. Open Source (Apache License 2.0); działa w Linuxie; napisana w Javie. Posiada interfejs webowy na Node.js.
- — „przyjazna dla programistów platforma do uruchamiania kontenerów w produkcji”, zasadniczo konkurując z Kubernetes, ale pozycjonująca się jako bardziej gotowe „prosto z pudełka” i łatwiejsze w użyciu rozwiązanie. Oprócz CLI i REST API projekt oferuje interfejs webowy () do zarządzania klastrem i jego orkiestracją (w tym praca z węzłami klastra, usługami, wolumenami, sekretami), przeglądania statystyk/logów. Open Source (Apache License 2.0); działa w Linuxie, Mac OS X, Windows; napisana w Ruby.
- — prosta narzędzie, mająca minimum funkcji i dokumentacji. Open Source (MIT License); działa w Linuxie (dostępny tylko pakiet dla Ubuntu); napisana w Pythonie. Obsługuje Docker Hub dla obrazów, przeglądanie logów dla kontenerów.
- — projekt, którego celem było „sprawić, by wdrażanie skomplikowanych aplikacji konteneryzowanych było tak proste, jak przeciągnij-i-upuść”. W tym celu stworzono własny katalog szablonów do wdrażania aplikacji (), wyniki z którego są wyświetlane podczas wyszukiwania obrazów/aplikacji na równi z danymi z Docker Hub. Open Source (Apache License 2.0); działa w Linuxie, Mac OS X, Windows; napisana w Ruby. Zintegrowana z systemem CoreOS i systemem orkiestracji Fleet. Sądząc po widocznej w internecie aktywności, przestała być wspierana w 2015 roku.
- — przykład graficzny interfejs do zarządzania kontenerami i obrazami Dockera. Open Source (MIT License); napisana w JavaScript/Node.js.
Na koniec: jak wygląda GUI w Dockly? Ostrożnie, GIF o wielkości 3,4 MB!
P.S.
Przeczytaj także na naszym blogu:
- «».
- «».
- «».
Źródło: habr.com
