TrueNAS Scale, dzięki swojemu potężnemu interfejsowi webowemu, sprawia, że instalacja i podstawowe zarządzanie aplikacjami jest proste i intuicyjne. Jednak każdy zaawansowany użytkownik prędzej czy później odkryje, że prawdziwa moc i elastyczność kryją się w wierszu poleceń. Warto zaznaczyć, że od wersji 24.04 (Electric Eel), TrueNAS Scale przeszło istotną transformację, rezygnując z dotychczasowego systemu k3s (lekka dystrybucja Kubernetes) na rzecz natywnego zarządzania kontenerami za pomocą Dockera. Ta zmiana znacząco uprościła architekturę i sprawiła, że bezpośrednia praca z kontenerami stała się bardziej przystępna.
Prawdziwą swobodę daje bezpośrednie połączenie przez SSH, które omija ograniczenia terminala w przeglądarce. Pozwala ono przekształcić się ze zwykłego użytkownika w świadomego administratora, który potrafi zajrzeć „pod maskę” każdej aplikacji, diagnozować problemy w czasie rzeczywistym i zarządzać systemem z precyzją niedostępną z poziomu interfejsu graficznego. Ten artykuł to kompleksowy przewodnik po zarządzaniu aplikacjami w TrueNAS Scale przy użyciu terminala, oparty właśnie na natywnych komendach Dockera, które stały się nowym fundamentem systemu aplikacji.
Krok 1: Identyfikacja Uruchomionych Aplikacji
Zanim zaczniemy zarządzać aplikacjami, musimy wiedzieć, co w ogóle działa w naszym systemie. Interfejs graficzny pokazuje nam nazwy aplikacji, ale terminal da nam wgląd w faktyczne kontenery.
Listowanie Kontenerów: docker ps
Podstawowym poleceniem jest docker ps
. Wyświetla ono listę wszystkich aktualnie uruchomionych kontenerów.
docker ps
Wynik tego polecenia to tabela z kluczowymi informacjami:
CONTAINER ID
: Unikalny identyfikator.IMAGE
: Nazwa obrazu, z którego stworzono kontener.STATUS
: Informacja, jak długo kontener jest uruchomiony.PORTS
: Mapowanie portów.NAMES
: Najważniejsza dla nas informacja – przyjazna nazwa kontenera, której będziemy używać w kolejnych poleceniach (np.ix-jellyfin-jellyfin-1
).
Jeśli chcesz zobaczyć również zatrzymane kontenery, dodaj flagę -a
: docker ps -a
.
Monitorowanie Zasobów w Czasie Rzeczywistym: docker stats
Jeszcze lepszym sposobem na szybki przegląd jest docker stats
. Ta komenda wyświetla dynamiczną, aktualizowaną na żywo tabelę pokazującą zużycie CPU, pamięci RAM i zasobów sieciowych przez każdy kontener. To idealne narzędzie, aby na pierwszy rzut oka zidentyfikować, która aplikacja obciąża system.
docker stats
Krok 2: Wejście do Wnętrza Kontenera – docker exec
Gdy już zidentyfikujesz kontener, możesz wejść do jego środka, aby przeglądać pliki, edytować konfigurację czy prowadzić zaawansowaną diagnostykę.
docker exec -it ix-jellyfin-jellyfin-1 /bin/bash
Przeanalizujmy to polecenie:
docker exec
: Wykonaj polecenie w działającym kontenerze.-it
: Kluczowe flagi oznaczające sesję interaktywną (-i
) z przydzielonym pseudo-terminalem (-t
).ix-jellyfin-jellyfin-1
: Nazwa naszego kontenera./bin/bash
: Polecenie, które chcemy uruchomić wewnątrz – w tym przypadku powłokę Bash.
Po wykonaniu polecenia, znak zachęty w terminalu zmieni się, informując, że jesteś teraz „wewnątrz”. Możesz swobodnie poruszać się po systemie plików kontenera za pomocą komend ls
, cd
itd. Aby wyjść i wrócić do TrueNAS, po prostu wpisz exit
lub użyj skrótu Ctrl + D
.
Dlaczego Brakuje Narzędzi (top
, ps
, nano
)?
Podczas pracy wewnątrz kontenera możesz natknąć się na błędy typu command not found
. Jest to celowe działanie. Wiele nowoczesnych obrazów Docker (w tym oficjalny Jellyfin) to tzw. obrazy minimalistyczne lub „distroless”. Nie zawierają one żadnych dodatkowych narzędzi, a jedynie samą aplikację i jej biblioteki. Jest to praktyka zwiększająca bezpieczeństwo i zmniejszająca rozmiar obrazu.
W takim przypadku musisz polegać na narzędziach zewnętrznych, dostarczanych przez samego Dockera.
Krok 3: Diagnostyka i Rozwiązywanie Problemów
Gdy aplikacja nie działa poprawnie, terminal jest Twoim najlepszym przyjacielem.
Przeglądanie Logów: docker logs
To najważniejsza komenda diagnostyczna. Wyświetla ona wszystko, co aplikacja zapisała w swoich dziennikach.
docker logs ix-nextcloud-nextcloud-1
Jeśli chcesz śledzić logi na żywo, dodaj flagę -f
(--follow
):
docker logs -f ix-nextcloud-nextcloud-1
Szczegółowa Inspekcja: docker inspect
Komenda docker inspect
zwraca ogromną ilość szczegółowych informacji o kontenerze w formacie JSON – jego adres IP, podpięte wolumeny, zmienne środowiskowe i wiele więcej.
docker inspect ix-tailscale-tailscale-1
Krok 4: Zarządzanie Plikami i Cyklem Życia Aplikacji
Terminal daje Ci pełną kontrolę nad plikami i stanem Twoich aplikacji.
Kopiowanie Plików: docker cp
To niezwykle użyteczna komenda do przenoszenia plików pomiędzy systemem TrueNAS a kontenerem, bez potrzeby wchodzenia do środka.
- Kopiowanie z kontenera do TrueNAS (np. backup konfiguracji):
docker cp ix-nginx-proxy-manager-npm-1:/data/nginx /mnt/TwojaPula/backupy/
- Kopiowanie z TrueNAS do kontenera:
docker cp /mnt/TwojaPula/dane/nowy-certyfikat.pem ix-nginx-proxy-manager-npm-1:/data/custom_ssl/
Kontrolowanie Stanu Aplikacji
Zamiast klikać w interfejsie graficznym, możesz szybko zarządzać aplikacjami:
- Zatrzymanie aplikacji:
docker stop ix-qbittorrent-qbittorrent-1
- Uruchomienie zatrzymanej aplikacji:
docker start ix-qbittorrent-qbittorrent-1
- Restart aplikacji (najczęstsza operacja):
docker restart ix-qbittorrent-qbittorrent-1
Od Użytkownika do Administratora
Opanowanie kilku podstawowych komend Dockera w terminalu SSH otwiera zupełnie nowy wymiar zarządzania TrueNAS Scale. Przestajesz być zależny od ograniczeń interfejsu graficznego i zyskujesz narzędzia, które pozwalają Ci zrozumieć, jak naprawdę działają Twoje aplikacje.
Możliwość szybkiego sprawdzenia logów, monitorowania zasobów w czasie rzeczywistym, edycji dowolnego pliku konfiguracyjnego czy zrobienia błyskawicznego backupu – to wszystko sprawia, że praca z systemem staje się bardziej efektywna, a rozwiązywanie problemów szybsze. Połączenie przez SSH to nie tylko wygoda, to fundamentalne narzędzie każdego świadomego administratora, który chce mieć pełną kontrolę nad swoim serwerem.
Dodaj komentarz