Przejdź do treści stopki
Iron Academy Logo
Naucz się C#
Naucz się C#

Inne Kategorie

Instalowanie Dockera i Portainera na Linuksie

Tim Corey
~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 sam Docker moze byc zainstalowany za pomoca apt, musisz zarejestrowac zrodlo pakietu Docker i podac powod, aby twoj system mu zaufal. Docker dostarcza jeden kopiowalny blok poleceń, który obsługuje to wszystko w jednym wklejeniu. Przejdz do docs.docker.com, nawiguj do sekcji instalacji, nastepnie wybierz Ubuntu. Polecenia pod "Install using the apt repository" to to, czego szukasz.

Ten blok wykonuje kilka operacji w sekwencji: instaluje wymagane narzedzia do certyfikatow, pobiera oficjalny klucz GPG Docker, dostosowuje jego uprawnienia i zapisuje adres repozytorium na liscie zrodel apt. Uruchom caly blok na raz, kopiujac go z dokumentacji i wklejajac do terminala za pomoca 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-plugin
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
SHELL

Potwierdz, 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-world
sudo docker run hello-world
SHELL

Docker 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] Domyslnie, polecenia Docker wymagaja sudo poniewaz zarzadzanie kontenerami to uprzywilejowana operacja. Na współdzielonym serwerze lub maszynie produkcyjnej zostaw to, jak jest. Dla osobistego komputera deweloperskiego, ktory kontrolujesz samodzielnie, dodanie siebie do grupy docker usuwa prefiks:

sudo usermod -aG docker $USER
sudo usermod -aG docker $USER
SHELL

-aG dodaje obecne konto do niej. Wielkosc liter ma znaczenie: $USER musi byc z duzej litery. 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. Gdy to nastapi, docker run hello-world dziala 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_data
docker volume create portainer_data
SHELL

Kontenery 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-ce
docker run -d -p 9000:9000 --name portainer \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce
SHELL

Rozbijajac to na czesci: -d uruchamia kontener w trybie odkolejkowanym, aby pozostawal w tle. -p 9000:9000 udostepnia port 9000 hosta i przekierowuje go na odpowiadajacy wewnetrzny adres wewnatrz kontenera. Pierwszy -v zamontowuje gniazdo Docker, dajac Portainer podejrzystosc i kontrole nad twoimi innymi kontenerami i obrazami. Połączenie gniazda w ten sposób umożliwia GUI odczytanie i zarządzanie całym środowiskiem Dockera. Drugi -v laczy utworzony przez ciebie wolumin z /data wewnatrz kontenera, utrzymujac jego stan.

Pobierz z portainer/portainer-ce (Community Edition). 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] Gdy kontener sie uruchomi, otworz przegladarke i przejdz 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 i obraz Portainer CE z dwoch pobran wykonanych podczas konfiguracji. W sekcji Kontenery obydwa uruchomienia hello-world sa w stanie zatrzymanym obok samego Portainer, ktory aktywnie dziala.

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 lokalizacje pod /var/lib/docker/volumes/, gdzie silnik przechowuje wszystkie nazwane dane wolumenu 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. Pojedyncze docker run polecenie pobiera obraz i uruchamia instancje. 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] Podsumowujac: zarejestruj repozytorium apt Docker z jego kluczem GPG, zainstaluj silnik za pomoca apt, opcjonalnie dodaj uzytkownika do grupy docker na komputerach osobistych, stworz nazwany wolumin dla Portainer i uruchom kontener portainer/portainer-ce przypisany do portu 9000. Od tego momentu, localhost:9000 oferuje GUI, ktore obejmuje codzienna prace zarzadzania kontenerami na Linux bez potrzeby uzywania CLI do rutynowych zadan.

Obejrzyj całe wideo na kanale YouTube Tima Coreya channel, aby śledzić instalacje na żywo.

Hero Worlddot related to Instalowanie Dockera i Portainera na Linuksie
Hero Affiliate related to Instalowanie Dockera i Portainera na Linuksie

Zarabiaj więcej, dzieląc się tym, co kochasz

Tworzysz treści dla deweloperów pracujących z .NET, C#, Java, Python, czy Node.js? Zamień swoją wiedzę specjalistyczną na dodatkowy dochód!

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie