[OMV #3] Docker w OMV

Aby uruchomić inne usługi i narzędzia na naszym serwerze, aby stał się on urządzeniem wielozadaniowym będziemy potrzebowali dockera – czyli narzędzia do uruchamiania i obsługi aplikacji kontenerowych (czyli takich programów, systemów, aplikacji które działają w linuxie równolegle do niego wykorzystując współdzielnie jego zasoby – rozumując tak na prosty rozum, tak w skrócie).

W OMV do uruchamiania aplikacji kontenerowych potrzebny jest docker o nazwie compose. W tym wpisie zostało wspomniane aby zainstalować go – jeżeli nie masz go zainstalowane to przejdź do System->Wtyczki i znajdź dodatek o nazwie kliknij na niego aby był podświetlony na żółto i naciśniej drugą ikonkę od lewej aby wybrany dodatek został zainstalowany.
Gdy proces instalacji zostanie ukończony, dodajmy na potrzeby dockera kilka folderów, takie jak:

  • Dane
  • Compose
  • Backup

we wcześniej utworzonym katalogu Docker.
Gdy katalogi są utworzone skonfigurujmy compose – przejdźmy do Usługi->Compose->Konfiguracja i ustawmy odpowiednie ścieżki katalogów w sekcji Pliki Compose, Data, Kopia zapasowa (ścieżki ustawiamy w katalog współdzielony). Pozostałe ustawienia pozostawiamy bez zmian. Zapisujemy i potwierdzamy zastosowane zmiany. Mamy już przygotowany docker do działania

Portainer – do lepszego zarządzania

Teraz uruchomimy portainer’a – jest to aplikacja do zarządzania kontenerami. Można używać domyślnej, któa jest w OMV, ale jakoś podczas szukania informacji o konfiguracji kontenerów itp rzeczy. natrafiłem na tą aplikację i faktycznie lepiej się z niej konfiguruje kontenery.
Najpierw dodajemy jeszcze folder w Docker/Data, o nazwie portainer – w nim będą przechowywane wszystkie dane naszego kontenera (w większości przypadku tak będziemy postępować z każdym kontenerem).

Zapomniałbym jeszcze o jednym – musimy utworzyć użytkownika, który to będzie obsługiwał dockera, a dokładnie portainera. Użytkownik ten nie będzie mógł się logować więc ustawiamy powłokę na /usr/sbin/nologin


W celu uruchomienia kontenerów, będziemy używać skryptów YAML (no oprócz jednego przypadku). Przechodzimy do Usługi->Compose->Pliki i w górnej belce wybieramy plusik aby dodać nową aplikację. W nowym okienku wklejamy poniższy skrypt:

services:
    portainer-ce: #nazwa usługi
        ports:
            - '8111:8000' #port pod jakim będzie widoczne gui
            - '8443:9443' #port pod jakim będzie widoczne gui w trybie https
        container_name: portainer #nazwa konetnera
        environment:
          - PUID=1001 #numer użytkownika
          - PGID=100 #numer grupy użytkownika
          - TZ=Europe/Warsaw
        restart: always #resetuje kontener gdy będzie zwiecha
        volumes: #odnośniki do danych dla portainera
            - '/var/run/docker.sock:/var/run/docker.sock'
            - 'CHANGE_TO_COMPOSE_DATA_PATH/portainer:/data'
        image: 'portainer/portainer-ce:latest' #pobierz najbardziej aktualną wersję

Powyższy kod jest uzupełniony o komentarze więc powinno się lepiej go czytać. Jedynie uzupełnie o rozwinięcie PUID i PGID – są to kody użytkownika i grupy użytkownika. Aby dowiedzieć się jakie są to numerki należy wywołać w terminalu następujące polecenia:

id portainer

Zostaną wypisane informacje dot. naszego użytkownika, takie jak UID (nasze PUID), oraz GID (nasze PGID). Należy je wpisać do wcześniejszego skryptu.

Gdy już mamy wszytko gotowe zapisujemy i gdy zostaniemy przeniesieni do głównego okna związanego z plikami dockera możemy uruchomić naszą aplikację kontenerową – w tym celu klikamy na 5 ikonkę od lewej strony i czekamy aż status naszej aplikacji zmieni się na UP.

Teraz w adresie przeglądarki wpisujemy adres naszego serwera powiększony o port, czyli np.: 192.168.0.100:8111

Przy pierwszym uruchomieniu będzie wykonana instalacja całego pakietu – będziemy musieli podać nazwę użytkownika i hasło (nowe hasło do tej aplikacji). Zapamiętaj te dane bo za każdym razem będziesz musiał się nimi posługiwać przy logowania do portainera.