Wdrażanie Portainer CE w Dockerze do zarządzania kontenerami | INTROSERV
EUR
european

EUR

usa

USD

Poland Pl
Ex. VAT Ex. VAT 0%

Wdrażanie Portainer CE w Dockerze w celu zarządzania kontenerami

Poziom: początkujący
Czas realizacji: ~30 minut
Cel: Po zakończeniu pracy z tym przewodnikiem będziesz dysponować w pełni skonfigurowanym panelem Portainer CE, zabezpieczonym protokołem HTTPS i gotowym do zarządzania infrastrukturą Docker na Twoim serwerze. Po zakończeniu pracy z tym przewodnikiem będziesz dysponować w pełni skonfigurowanym panelem Portainer CE, zabezpieczonym protokołem HTTPS i gotowym do zarządzania infrastrukturą Docker na Twoim serwerze.

Wprowadzenie

Kontejneryzacja oparta na Dockerze stała się standardem w infrastrukturze serwerowej, zapewniając przewidywalne wdrażanie i wydajne skalowanie usług. Jednak w przypadku uruchamiania dziesiątek kontenerów zarządzanie nimi wyłącznie za pomocą wiersza poleceń staje się uciążliwe. Portainer CE rozwiązuje ten problem, udostępniając przyjazny dla użytkownika interfejs internetowy do administrowania Dockerem: zapewnia dostęp do wszystkich kontenerów, ich stanów, logów i zasobów, a zarządzanie odbywa się za pomocą kilku kliknięć bez utraty kontroli nad systemem.

Przygotowanie serwera

Przed instalacją należy upewnić się, że serwer jest gotowy do wdrożenia Portainera. Sam Portainer działa jako kontener, więc wystarczy zainstalować jedynie Docker.

Wymagania systemowe:

  • System operacyjny: dowolna dystrybucja Linuksa (Ubuntu 20.04+, Debian 11+, CentOS/Rocky Linux 8+) używana w hostingu.
  • Uprawnienia: dostęp jako root lub możliwość wykonywania poleceń za pomocą sudo.
  • Wymagania sprzętowe: co najmniej 1 GB pamięci RAM i 10 GB wolnego miejsca na dysku.
  • Wymagania sieciowe: Otwarte porty 8000 i 9443 dla dostępu do Portainera, port 443 dla konfiguracji odwrotnego proxy.

Sprawdzanie dostępności Docker

Połącz się z serwerem przez SSH. Przede wszystkim sprawdź, czy Docker jest zainstalowany i czy demon działa:

docker --version sudo systemctl status docker

Jeśli wyświetla się wersja Docker, a status jest aktywny (uruchomiony), można pominąć etap instalacji Docker.

Instalacja Docker (w razie potrzeby)

Na nowych serwerach Docker zazwyczaj nie jest zainstalowany. Aby go zainstalować, uruchom standardowy skrypt (dla Debiana/Ubuntu):

curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo systemctl enable docker sudo systemctl start docker

Aby zainstalować wtyczkę Docker Compose (jeśli nie została zainstalowana w poprzednim kroku), uruchom:

sudo apt-get install docker-compose-plugin # For Debian/Ubuntu # or sudo dnf install docker-compose-plugin # For CentOS/Rocky Linux

Sprawdź wersję zainstalowanego Docker Compose:

docker compose version

Wdrażanie Portainer CE w Dockerze

Istnieją dwa główne sposoby uruchamiania Portainera: za pomocą polecenia `docker run` (szybki start) oraz za pomocą pliku `docker-compose.yml` (wygodne w przypadku wersjonowania konfiguracji).

Metoda 1: Uruchamianie za pomocą `docker run`

Uruchom na serwerze następujące polecenie:

sudo docker run -d \ -p 8000:8000 \ -p 9443:9443 \ --name portainer \ --restart=always \ -v /var/run/docker.sock:/var/run/docker.sock \ -v portainer_data:/data \ portainer/portainer-ce:latest

Info

Polecenie jest uruchamiane za pomocą sudo, ponieważ bieżący użytkownik nie został jeszcze dodany do grupy docker. Jeśli planujesz później korzystać z Docker bez sudo, dodaj użytkownika do grupy docker:

sudo usermod -aG docker $USER

Po wykonaniu polecenia musisz się wylogować i zalogować ponownie lub zrestartować sesję.

Objaśnienie parametrów:

  • -d – Uruchom kontener w tle.
  • -p 8000:8000 – Przekierowanie portów dla agentów Edge i tuneli.
  • -p 9443:9443 – Przekierowanie portów dla zabezpieczonego interfejsu internetowego (HTTPS). Portainer automatycznie generuje certyfikat SSL z podpisem własnym.
  • --name portainer – Przypisuje kontenerowi sensowną nazwę.
  • --restart=always – Polityka automatycznego restartowania kontenera w przypadku awarii lub ponownego uruchomienia serwera.
  • -v /var/run/docker.sock:/var/run/docker.sock – Montuje gniazdo Docker wewnątrz kontenera Portainer. Pozwala to Portainerowi na interakcję z demonem Docker na hoście oraz zarządzanie nim.
  • -v portainer_data:/data – Tworzy wolumin o podanej nazwie do przechowywania danych Portainera (użytkowników, ustawień, konfiguracji połączeń).
  • portainer/portainer-ce:latest – Obraz zawierający najnowszą stabilną wersję Community Edition.

Metoda 2: Uruchamianie za pomocą docker-compose

Aby skorzystać z tej metody, utwórz katalog oraz plik docker-compose.yml:

mkdir ~/portainer-docker cd ~/portainer-docker nano docker-compose.yml

Wprowadź następującą treść:

services: portainer: image: portainer/portainer-ce:latest container_name: portainer restart: always ports: - "8000:8000" - "9443:9443" volumes: - /var/run/docker.sock:/var/run/docker.sock - portainer_data:/data volumes: portainer_data:

Zapisz plik i uruchom polecenie:

docker compose up -d

Pierwsze uruchomienie i konfiguracja interfejsu internetowego

Po uruchomieniu kontenera Portainer staje się on dostępny w sieci.

Krok 1. Łączenie się z interfejsem internetowym

Otwórz przeglądarkę i przejdź do: https://:9443.

Info

Ze względu na użycie certyfikatu z podpisem własnym przeglądarka wyświetli ostrzeżenie. Jest to normalne przy pierwszym uruchomieniu. Należy przejść do strony (na przykład klikając „Zaakceptuj ryzyko” lub „Przejdź do strony”).

Ze względu na użycie certyfikatu z podpisem własnym przeglądarka wyświetli ostrzeżenie. Należy przejść do strony.

Krok 2. Utworzenie konta użytkownika

Na stronie rejestracji należy podać nazwę użytkownika (zalecana jest nazwa „admin”) oraz ustawić silne hasło.

Tip

Hasło musi być złożone, ponieważ zapewnia pełny dostęp do zarządzania kontenerami.

Krok 3. Podłączanie środowiska

Po utworzeniu użytkownika Portainer wyświetli monit o podłączenie środowisk. Na tym etapie można podłączyć lokalny Docker (już dostępny dzięki zamontowanemu gniazdu) lub przejść do dodawania środowisk zdalnych za pomocą przycisku „Dodaj środowiska”.

Środowiska zdalne są przydatne, gdy trzeba zarządzać wieloma serwerami z poziomu jednego interfejsu Portainera: na przykład dodając hosty Docker w różnych centrach danych lub serwery z Kubernetes. Połączenie nawiązywane jest za pośrednictwem agentów Portainera lub poprzez API przy użyciu certyfikatów TLS.

  • Wybierz opcję „Rozpocznij”. Jest to podstawowy scenariusz dla pojedynczego serwera.
  • Portainer automatycznie wykryje lokalne gniazdo Docker. Zostanie ono wyświetlone jako „local”.
  • Kliknij na niego, aby zakończyć konfigurację.

Konfiguracja została zakończona. Otworzy się pulpit nawigacyjny Portainera (ekran główny) z krótkimi statystykami dotyczącymi kontenerów, obrazów, woluminów i sieci.

Główne funkcje Portainera

Przyjrzyjmy się głównym sekcjom interfejsu, które służą do codziennych zadań administracyjnych.

Pulpit nawigacyjny

Ekran startowy, na którym wyświetlany jest ogólny obraz sytuacji: liczba uruchomionych i zatrzymanych kontenerów oraz liczba pobranych obrazów. Pozwala to na szybką ocenę stanu serwera.

Kontenery

  • Centralna sekcja zarządzania. Wyświetla listę wszystkich kontenerów.
  • Zarządzanie kontenerami: uruchamianie, zatrzymywanie, ponowne uruchamianie i usuwanie kontenera jednym kliknięciem.
  • Dzienniki: Zakładka „Dzienniki” umożliwia przeglądanie dzienników kontenerów w czasie rzeczywistym.
  • Analiza: Wyświetla pełne informacje o kontenerze w formacie JSON: zmienne środowiskowe, punkty montowania, ustawienia sieciowe.
  • Statystyki: wykresy wykorzystania procesora, pamięci i sieci dla każdego kontenera. Pomagają określić zużycie zasobów przez poszczególne usługi.
  • Konsola wykonawcza: Możliwość otwarcia terminala internetowego wewnątrz kontenera w celu wykonywania poleceń.

Stosy

Implementacja Docker Compose w interfejsie internetowym. Umożliwia przesyłanie lub tworzenie plików YAML bezpośrednio przez przeglądarkę w celu wdrażania aplikacji wielokontainerowych.

Obrazy

  • Zarządzanie obrazami Docker.
  • Pobieranie: Możliwość pobierania obrazów (np. nginx:latest lub mysql:8.0) bezpośrednio z interfejsu.
  • Usuwanie: czyszczenie nieużywanych obrazów w celu zwolnienia miejsca na dysku.

Woluminy

Zarządzanie trwałymi woluminami danych. Wyświetla istniejące woluminy, ich przypisanie do kontenerów oraz zajmowaną przez nie przestrzeń. Ma kluczowe znaczenie dla baz danych i danych użytkowników.

Sieci

Umożliwia tworzenie izolowanych sieci do komunikacji między kontenerami.

Cofnięcie zmian (usunięcie Portainera)

Jeśli chcesz całkowicie usunąć Portainer i jego dane z serwera, wykonaj następujące kroki:

1. Zatrzymaj i usuń kontener Portainera:

sudo docker stop portainer sudo docker rm portainer

2. Usuń wolumin danych Portainera (uwaga: ta czynność jest nieodwracalna):

sudo docker volume rm portainer_data

Danger

Usunięcie woluminu portainer_data spowoduje nieodwracalną utratę wszystkich użytkowników, ustawień i konfiguracji Portainera.

3. Usuń obraz Portainera (opcjonalnie):

sudo docker rmi portainer/portainer-ce:latest

Bezpieczeństwo i zalecenia

W środowisku produkcyjnym wymagana jest dodatkowa konfiguracja zabezpieczeń Portainera.

Korzystanie z serwera proxy odwrotnego (Nginx/Apache)

Zaleca się skonfigurowanie subdomeny (np. portainer.domain.com) i przekierowanie ruchu przez serwer Nginx. Zapewni to:

  • Korzystanie z ważnego certyfikatu SSL (bezpłatnego od Let's Encrypt lub płatnego, np. od Sectigo).
  • Scentralizowane rejestrowanie dostępu.
  • Możliwość skonfigurowania dodatkowego uwierzytelniania.

1. Instalacja i konfiguracja serwera Nginx

Zainstaluj serwer Nginx:

sudo apt install -y nginx # For Debian/Ubuntu # or sudo dnf install -y nginx # For CentOS/Rocky Linux

Utwórz plik konfiguracyjny dla Portainera:

sudo nano /etc/nginx/sites-available/portainer.conf

Dodaj następującą konfigurację, zastępując swoją domeną, która wskazuje na adres IP serwera:

server { listen 80; server_name <YOUR_DOMAIN>; location / { proxy_pass https://localhost:9443; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_cache_bypass $http_upgrade; # Timeouts for long operations proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600; } }

Aktywuj konfigurację:

sudo ln -s /etc/nginx/sites-available/portainer.conf /etc/nginx/sites-enabled/

Sprawdź konfigurację serwera Nginx:

sudo nginx -t

Jeśli sprawdzenie zakończy się powodzeniem, uruchom ponownie Nginx:

sudo systemctl restart nginx

2. Konfiguracja HTTPS (zalecane)

Zainstaluj Certbot:

sudo apt install -y certbot python3-certbot-nginx

Uzyskaj certyfikat SSL:

sudo certbot --nginx -d <your_domain></your_domain>

Zastąp swoją domeną.

Podczas instalacji wprowadź swój adres e-mail, na przykład admin@, a następnie naciśnij dwukrotnie klawisz Y.

Sprawdź opcję automatycznego odnawiania certyfikatu:

sudo systemctl list-timers | grep certbot

Konfiguracja zapory sieciowej

Bezpośredni dostęp do portów Portainera powinien być ograniczony. Zezwól na dostęp do portów 8000 i 9443 wyłącznie z zaufanych adresów IP.

Danger

Zachowaj ostrożność przy tworzeniu reguł zapory. Nieprawidłowa konfiguracja może zablokować dostęp do serwera.

Przykład dla UFW:

sudo ufw allow from 192.168.1.0/24 to any port 9443 proto tcp sudo ufw deny 9443

Gdzie 192.168.1.0/24 to podsieć zaufanych adresów IP.

Regularne aktualizacje

Zaleca się śledzenie wydawania nowych wersji Portainera i terminowe aktualizowanie kontenera w celu wyeliminowania potencjalnych luk w zabezpieczeniach.

Sprawdzanie działania

Aby sprawdzić, czy Portainer działa poprawnie, wykonaj następujące czynności.

  1. Kontrola wizualna: W sekcji „Containers” upewnij się, że kontener Portainer ma status „running”.
  2. Tworzenie kontenera testowego:
    • Przejdź do sekcji „Containers” i kliknij przycisk „Add container”.
    • W polu „Nazwa” wpisz test-nginx.
    • W polu „Obraz” wpisz „nginx:alpine”.
    • W sekcji „Mapowanie portów” wpisz port hosta 8080, a port kontenera 80.
    • Kliknij „Wdróż kontener”.
  3. Sprawdź dostępność:
    • Poczekaj, aż kontener pojawi się na liście ze statusem „uruchomiony”.
    • Otwórz przeglądarkę i przejdź na stronę http://<TWÓJ_ADRES_IP>:8080. Powinna wyświetlić się strona powitalna serwera Nginx.
  4. Sprawdzenie zarządzania:
    • W Portainerze znajdź kontener test-nginx i kliknij przycisk „Stop”.
    • Odśwież stronę Nginx w przeglądarce – dostęp powinien być niedostępny.
    • Kliknij „Start” – dostęp do strony powinien zostać przywrócony.

Rozwiązywanie problemów

Problem 1: Nie można otworzyć interfejsu internetowego Portainera pod adresem https://:9443

Możliwa przyczyna: Zapora sieciowa blokuje port 9443.
Rozwiązanie: Sprawdź reguły zapory sieciowej i upewnij się, że port jest otwarty. W przypadku UFW: sudo ufw status | grep 9443.

Problem 2: Błąd „Nie można połączyć się z demonem Docker” podczas uruchamiania poleceń Docker.

Możliwa przyczyna: Demon Docker nie działa lub użytkownik nie ma uprawnień.
Rozwiązanie: Uruchom demona: sudo systemctl start docker. Jeśli dodałeś użytkownika do grupy docker, wyloguj się i zaloguj ponownie.

Problem 3: Kontener Portainer nie uruchamia się i natychmiast się zamyka (status „exited”).

Możliwa przyczyna: Konflikt portów lub uszkodzony obraz.
Rozwiązanie: Sprawdź, czy port 9443 nie jest zajęty przez inną aplikację: `sudo ss -tulpn | grep 9443`. Spróbuj przypisać inny port i uruchom ponownie kontener: `sudo docker restart portainer`.

Wniosek

Portainer CE stanowi skuteczne narzędzie do wizualnego monitorowania i zarządzania kontenerami Docker. Możliwość szybkiej oceny stanu kontenerów, analizy wykresów zużycia zasobów oraz wykonywania typowych operacji bez konieczności łączenia się przez SSH skraca czas reakcji na incydenty i upraszcza codzienne administrowanie.

Narzędzie to może okazać się przydatne, gdy konieczne jest zapewnienie ograniczonego dostępu do zarządzania kontenerami programistom lub mniej doświadczonemu personelowi bez przyznawania bezpośredniego dostępu do wiersza poleceń serwera. Portainer CE jest standardowym rozwiązaniem do wizualizacji infrastruktury kontenerowej i jest zalecany do stosowania na serwerach.

---

Wersja dokumentu: 1 .1
Ostatnia aktualizacja: marzec 2026
Właściciel: Zespół ds. dokumentacjitechnicznej

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA