Nucleus – interfejs graficzny docker’a dla systemów linux

Mariusz Wyszomierski Docker, Narzędzia Nucleus – interfejs graficzny docker’a dla systemów linux

Docker Narzędzia

Nucleus – interfejs graficzny docker’a dla systemów linux

Posted By Mariusz Wyszomierski

Zarządzanie dockerem można realizować przez wydawanie poleceń w konsoli. Istnieje jednak bardziej ergonomiczne rozwiązanie (dla systemów Linux) – aplikacja webowa Nucleus dostarczana przez Atlantean Software.

Jest to ciekawe rozwiązanie, w którym aplikacja webow’a jest utrzymywana i dostarczana z serwerów Nucleus’a. Kontaktuje się ona z lokalnie wystawionym API restowym.
Firma Atlantean Software planuje wprowadzić płatną wersję aplikacji webowej, która będzie możliwa do zainstalowania w izolowanej sieci. Obecne rozwiązanie jest i pozostanie darmowe.
Front-end jest napisany z użyciem React’a jako SPA (single page application). Oznacza to, że wystarczy załadować stronę i później nie potrzebujemy dostępu do internetu, aby dalej korzystać z jej funkcjonalności. Dane w panelu są odświeżane na żywo.

Instalacja serwera wystawiającego API restowe

Przedstawię instrukcję instalacji dla Ubuntu 16.04 LTS (w chwili obecnej minimalna obsługiwana wersja Ubuntu to 15.04). Korzystanie z Nucleus’a wymaga, aby Docker był wystawiony na domyślnym porcie 2375.

Należy dodać klucz GPG firmy Atlantean, nowe repozytorium paczek i zainstalować docker’a wraz z serwerem wystawiajacym API restowe.

wget -qO - http://apt.atlantean.io/ATLANTEAN-GPG-KEY.public | sudo apt-key add -
echo -e 'deb [arch=amd64] http://apt.atlantean.io/ jessie main' | sudo tee -a /etc/apt/sources.list
sudo apt-get update
#requires docker to be installed
sudo apt-get install docker
sudo apt-get install nucleus-api

Serwer wystawiający API będzie automatycznie uruchamiany po restarcie komputera. Wystawione webserwisy są zabezpieczone przed atakiem CSRF, ponieważ do ich wywołania potrzebne jest przekazanie w nagłówku HTTP token’a, który jest otrzymywany dopiero po zalogowaniu.

Korzystanie z panelu

Uruchomienie i konfiguracja

Wchodzimy na stronę dashboard.getnucleus.io. Tylko przy pierwszym uruchomieniu będzie wymagane podanie adresu e-mail. Do pola „API hostname or IP” wpisujemy po prostu „localhost”, port zostawiamy domyślny 8500. Uwaga – w dokumentacji napisane jest, że przy pierwszym uruchomieniu nie zalecane jest używanie opcji „Enable SSL”. W chwili obecnej nie ma możliwości ustawienia połączenia po SSL.

Na formularzu z loginem i hasłem przy pierwszym logowaniu podajemy:

  • jako login admin
  • jako hasło nucleus

Zalecana jest zmiana hasła po pierwszym logowaniu.

Lista kontenerów

Po zalogowaniu naszym oczom ukaże się lista kontenerów docker’a dostępnych lokalnie, wraz z ich statusem, który jest odświeżany w czasie rzeczywistym.

nucleus_lista_kontenerow

Po kliknięciu na niebieską ikonkę pokaże się boczne menu z opcjami dla wybranego kontenera

nucleus_container_info

Dla kontenera, który jest wyłączony dostępne są następujące akcje:

Ikona Akcja Opis
nucleus_power_on  Włącz kontener
nucleus_delete  Usuń kontener
nucleus_view_logs  Pokaż logi kontenera  W nowym oknie widzimy podgląd ostatnich logów kontenera
nucleus_inspect  Pokaż szczegóły kontenera  W nowym oknie widzimy szczegóły dotyczące konfiguracji kontenera w postaci JSON:

nucleus_inspect_json

nucleus_container_more_info Po włączeniu kontenera otrzymujemy o nim dodatkowe informacje takie jak:

  • czas od włączenia kontenera
  • host links – adres kontenera dostępny z zewnątrz kontenera
  • container links – adres kontenera widoczny w sieci docker’a
  • status portów wewnątrz kontenera i wystawionych na zewnątrz
nucleus_container_stats Widoczne są również wykresy zużycia procesora oraz pamięci RAM.

Dla kontenera, który jest włączony pojawiają się nowe akcje:

Ikona Akcja
nucleus_button_turn_off  Wyłącz kontener
nucleus_button_restart  Restartuj kontener
nucleus_button_kill  Zabij kontener
nucleus_button_attach  Otwórz konsolę kontenera (otwierane w nowym oknie)
nucleus_button_execute  Wywołaj pojedyncze polecenie w kontenerze (otwierane w nowym oknie)

Zarządzanie wszystkimi kontenerami

Istnieje również panel umożliwiający zarządzanie wszystkimi kontenerami. Wystarczy kliknąć na zielony przycisk nad listą kontenerów, wskazany na screenie poniżej.

nucleus_show_menu_docker_host

nucleus_host_control Widoczne akcje będą wykonane dla wszystkich kontenerów:

  • włączenie kontenerów
  • wyłączenie kontenerów
  • restart kontenerów
  • zabicie kontenerów
  • usunięcie kontenerów (dotyczy tylko tych, które są wyłączone)

Widoczne są też informacje o komputerze, na którym jest zainstalowany docker:

  • nazwa hosta
  • liczba procesorów
  • % użycia procesorów
  • liczba wolnej i dostępnej pamięci RAM
nucleus_docker_engine Dostępne są również akcje dla samego silnika dockera:

  • włączenie dockera
  • wyłączenie dockera
  • restart dockera

Informacje, jeszcze są tutaj widoczne to:

  • używany sterownik systemu plików
  • czy używany jest docker w wersji eksperymentalnej
  • liczba obrazów dostępnych lokalnie
  • wersja kernela
  • wersja dockera
  • wersja API Nucleusa

Zarządzanie obrazami

W menu po lewej stronie możemy wejść do listy obrazów, które są lokalnie dostępne. Listę można filtrować po nazwie obrazu. W prawym górnym rogu na zielonym tle widać sumaryczny rozmiar obrazów.

nucleus_docker_images

Po kliknięciu na niebieski przycisk przy obrazie dockera pojawi się menu po prawej stronie z informacjami o obrazie.

nucleus_docker_images_info Dostępne akcje dla obrazu to:

  • usunięcie obrazu (tylko jeżeli nie jest on używany przez żaden kontener)
  • informacja o warstwach obrazu (w formacie JSON) dostępna w nowym oknie
  • informacja o obrazie (w formacie JSON) dostępna w nowym oknie

Dostępne informacje obrazu:

  • nazwa obrazu
  • tag obrazu
  • skrót sha256
  • data utworzenia
  • rozmiar obrazu
  • opis obrazu
  • informacja czy jest to oficjalny obraz
  • czy jest zaufany
  • liczba gwiazdek

Szybkie uruchomienie utworzenie kontenera

Możliwe jest szybkie uruchomienie nowego kontenera z poziomu aplikacji webowej. Wystarczy kliknąć na logo rakiety umieszczone w prawym górnym rogu i w wyświetlonym wpisać dowolne polecenie „docker run …”

nucleus_runPodsumowanie

Nowy projekt zapowiada się bardzo ciekawie. Ciekawe jest jak się dalej rozwinie i jaki będzie w przyszłości podział na darmowe i płatne funkcjonalności. Tak jak pisałem wyżej – aktualnie nie ma możliwości ustawienia połączenia po SSL. Nie widziałem też nigdzie opcji zakładania kont użytkowników.

Jednak te funkcjonalności, które są dostępne na ten moment w zupełności wystarczają do wygodnej obsługi lokalnego docker’a na potrzeby developerskie.

Tagged , , , , , , ,

Written by Mariusz Wyszomierski

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Time limit is exhausted. Please reload CAPTCHA.