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.
Po kliknięciu na niebieską ikonkę pokaże się boczne menu z opcjami dla wybranego kontenera
Dla kontenera, który jest wyłączony dostępne są następujące akcje:
Dla kontenera, który jest włączony pojawiają się nowe akcje:
Ikona | Akcja |
![]() |
Wyłącz kontener |
![]() |
Restartuj kontener |
![]() |
Zabij kontener |
![]() |
Otwórz konsolę kontenera (otwierane w nowym oknie) |
![]() |
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.
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.
Po kliknięciu na niebieski przycisk przy obrazie dockera pojawi się menu po prawej stronie z informacjami o obrazie.
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 …”
Podsumowanie
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.
Dodaj komentarz