Instalowanie Dockera i Portainera na Linuksie
[[academy-video-youtube({"vid": "-RZmUkObVXU", "start_time": "0", "title": "Instalowanie Docker i Portainer na Linux", "creator": "Tim Corey", "length": "~18m"})]]
Nie wszystko powinno mieszkac bezposrednio na twoim systemie operacyjnym. Narzędzia takie jak SQL Server mają dużą zasobożerność, a ich uruchamianie na surowym sprzęcie oznacza, że te zasoby są konsumowane, niezależnie od tego, czy ich potrzebujesz, czy nie. Kontenery rozwiązują to: uruchamiasz jeden, gdy go potrzebujesz, a zatrzymujesz, gdy go nie potrzebujesz. Docker jest silnikiem zasilającym ten workflow, a Portainer to lekki GUI, który zarządza nim bez zapamiętywania biblioteki poleceń CLI.
Ten podział, oparty na serii Linux development Tima Coreya, szczegółowo opisuje pełne ustawienie na Ubuntu: rejestrowanie repozytorium apt, ustawienie silnika, usunięcie wymogu sudo dla maszyn osobistych oraz wdrożenie Portainera CE jako trwałego kontenera.
Krok 1: Dodawanie repozytorium apt Docker'a
[3:10 - 6:00] Zanim można zainstalować sam Docker za pomocą apt, należy zarejestrować źródło pakietów Dockera i dać systemowi powód, aby mu zaufać. Docker dostarcza jeden kopiowalny blok poleceń, który obsługuje to wszystko w jednym wklejeniu. Przejdź do docs.docker.com, nawiguj do sekcji Instaluj, a następnie wybierz Ubuntu. Polecenia pod "Install using the apt repository" to to, czego szukasz.
Ten blok wykonuje kilka operacji w sekwencji: instaluje wymagane narzędzia do certyfikatów, pobiera oficjalny klucz GPG Dockera, reguluje jego uprawnienia i zapisuje adres repozytorium do listy źródeł apt. Uruchom cały blok jednocześnie, kopiując go z dokumentacji i wklejając do terminala za pomocą Ctrl+Shift+V.
Wazny punkt do podkreslenia: nie dodawaj bezmyslnie nowych zrodel pakietow. Zweryfikuj, komu ufasz zrodlom przed zainstalowaniem ich certyfikatu. Docker jest renomowany i warto mu ufac, ale zasada ma zastosowanie do kazdego zrodla, ktore dodajesz. To podejscie jest wlasciwie bardziej restrykcyjne niz to, co robi wiele menedzerow pakietow domyslnie, co jest funkcja, a nie komplikacja.
Krok 2: Instalacja silnika Docker
[6:00 - 7:10] Po zarejestrowaniu repozytorium, instalacja Docker jest jednym poleceniem apt:
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginsudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginPotwierdz, gdy zostaniesz poproszony, a apt zajmie się pobieraniem i instalacją. Docker jest skonfigurowany, aby uruchamiać się automatycznie przy starcie, więc będzie działał w tle po każdym ponownym uruchomieniu bez żadnych dodatkowych kroków.
Aby potwierdzić, że wszystko działa, uruchom kontener hello-world:
sudo docker run hello-worldsudo docker run hello-worldDocker pobiera obraz, wykonuje go i wypisuje komunikat potwierdzający. Ten wynik oznacza, że twoja instalacja działa. Kontener hello-world jest zaprojektowany, aby działać raz i wyjść; istnieje czysto, aby zweryfikować odpowiedź silnika.
Krok 3: Uruchamianie Docker bez sudo (tylko osobiste maszyny)
[7:45 - 10:30] Domyślnie polecenia Dockera wymagają sudo, ponieważ zarządzanie kontenerami jest uprzywilejowaną operacją. Na współdzielonym serwerze lub maszynie produkcyjnej zostaw to, jak jest. Dla osobistej maszyny rozwojowej, którą kontrolujesz samodzielnie, dodanie siebie do grupy docker usuwa prefiks:
sudo usermod -aG docker $USERsudo usermod -aG docker $USER-aG dodaje bieżące konto do niej. Wielkość liter ma znaczenie: $USER musi być pisane wielkimi literami. Zmiana nie wchodzi w życie, dopóki się nie wylogujesz i ponownie zalogujesz; pełny restart systemu jest często bardziej niezawodny niż proste wylogowanie, aby członkostwo grupy zostało poprawnie zastosowane. Kiedy to zrobi, docker run hello-world działa bez sudo.
To jest kompromis wygodny, a nie poprawa bezpieczeństwa. Zachowaj go tylko dla maszyn deweloperskich.
Krok 4: Tworzenie wolumenu dla Portainera
[11:30 - 12:45] Przed uruchomieniem Portainer, utwórz nazwany wolumen, aby utrzymać jego dane między restartami kontenera i zamiennej.
docker volume create portainer_datadocker volume create portainer_dataKontenery są efemeryczne z założenia, a ich zniszczenie usuwa wszystko, co w nich przechowywane. Wolumen znajduje się poza cyklem życia kontenera na ścieżce zarządzanej przez Docker, więc konfiguracja Portainera przetrwa, nawet jeśli go zniszczysz i odbudujesz.
Krok 5: Uruchamianie kontenera Portainer
[12:45 - 14:10] Portainer CE to własny Docker kontener. Pełne polecenie uruchomienia to:
docker run -d -p 9000:9000 --name portainer \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-cedocker run -d -p 9000:9000 --name portainer \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ceRozkładając to na części: -d uruchamia kontener w trybie odłączonym, więc pozostaje on w tle. -p 9000:9000 udostępnia port hosta 9000 i kieruje go na odpowiadający adres wewnętrzny w środku kontenera. Pierwszy -v montuje gniazdo Dockera, dając Portainerowi widoczność i kontrolę nad innymi kontenerami i obrazami. Połączenie gniazda w ten sposób umożliwia GUI odczytanie i zarządzanie całym środowiskiem Dockera. Drugi -v łączy wolumin, który właśnie stworzyłeś, z /data w środku kontenera, utrwalając jego stan.
Pobierz z portainer/portainer-ce (Wersja Społecznościowa). Strona portainer.io prowadzi z płatną wersją Enterprise, ale CE jest darmowe i w pełni funkcjonalne do użytku lokalnego i osobistego.
Nawigacja po interfejsie Portainer
[14:10 - 17:30] Kiedy kontener się uruchamia, otwórz przeglądarkę i przejdź do http://localhost:9000. Portainer wymaga stworzenia hasła administratora przy pierwszym dostępie; musi mieć co najmniej 12 znaków. Po zalogowaniu się, przejdź przez szybkie opcje konfiguracyjne bez dodawania dodatkowych środowisk, a następnie wybierz lokalne środowisko z deski rozdzielczej.
Widok główny pokazuje podsumowanie: pobrane obrazy, obecne kontenery, skonfigurowane sieci i używane wolumeny. Kliknięcie w każdą sekcję daje pełną kontrolę. Pod Obrazami, zobaczysz hello-world oraz obraz Portainer CE z dwóch pobrań wykonanych podczas konfiguracji. W Kontenerach oba uruchomienia hello-world pojawiają się w stanie zatrzymanym obok samego Portainera, który działa aktywnie.
Z panelu Kontenerów możesz uruchomić, zatrzymać lub usunąć dowolny wpis. Wybranie kontenera i kliknięcie Logi pokazuje jego wynik. Wpisy hello-world wyświetlają znajomy tekst powitalny z obu razy, gdy został wykonany. Ponowne uruchomienie kontenera i sprawdzenie jego dzienników potwierdza, że nowe wyjście jest dodawane poniżej pierwszego.
Wolumeny są wymienione wraz z ich ścieżkami montowania. Wpis portainer_data pokazuje jego lokalizację pod /var/lib/docker/volumes/, gdzie silnik przechowuje wszystkie dane nazwanych woluminów na dysku.
Dlaczego Portainer zamiast Docker Desktop
[17:30 - 18:10] Docker Desktop jest wyposażony w GUI, ale zużywa znaczne zasoby, co ma znaczenie na maszynie deweloperskiej Linux, gdzie chcesz zasoby systemowe dostępne dla swoich rzeczywistych obciążeń. Portainer CE działa jako kontener i zużywa znacznie mniej pamięci i CPU. Spełnia praktyczne potrzeby: przeglądanie obrazów i kontenerów, czytanie dzienników, zarządzanie wolumenami, uruchamianie i zatrzymywanie usług, wszystko bez obciążenia.
Co dalej
[17:50 - 18:30] Z Dockerem i Portainer na miejscu, następnym krokiem w serii jest uruchomienie SQL Server jako kontenera. Jedno polecenie docker run pobiera obraz i uruchamia instancję. Z panelu kontenerów Portainera możesz go zatrzymać po zakończeniu sesji i ponownie uruchomić, gdy znów będzie potrzebny. Ten wzór dotyczy w równym stopniu Redis i innych narzędzi infrastrukturalnych, które są kosztowne do prowadzenia ciągłego, ale łatwe do konteneryzacji.
Wnioski
[18:30 - end] Podsumowując: zarejestruj repozytorium apt Dockera z jego kluczem GPG, zainstaluj silnik za pomocą apt, opcjonalnie dodaj użytkownika do grupy docker na maszynach osobistych, utwórz nazwany wolumin dla Portainera i uruchom kontener portainer/portainer-ce zmapowany na port 9000. Od tego momentu localhost:9000 daje Ci GUI, które obejmuje codzienną pracę nad zarządzaniem kontenerami na Linuxie bez dotykania CLI dla rutynowych zadań.
Obejrzyj całe wideo na kanale YouTube Tima Coreya channel, aby śledzić instalacje na żywo.

