Bądź na bieżąco - RSS

Portainer nie działa po aktualizacji Dockera – najszybsze rozwiązanie

27 grudnia, 2025 | Brak Komentarzy | Kategoria: Linux, Porady

Błąd Portainer local unreachable po aktualizacji DockeraPortainer nie działa po aktualizacji Dockera – najszybsze rozwiązanie:

Po aktualizacji systemu lub Dockera (szczególnie do wersji Docker Engine 29) wielu administratorów zauważa, że Portainer uruchamia się poprawnie, można się do niego zalogować, ale nie da się zarządzać lokalnym środowiskiem Docker.

W interfejsie Portainera pojawia się wtedy komunikat:

Failed loading environment
The environment named local is unreachable

W tym artykule pokazuję najszybsze i najprostsze rozwiązanie, które pozwala przywrócić działanie Portainera bez cofania Dockera ani systemu operacyjnego.


Dlaczego Portainer przestaje działać po aktualizacji Dockera?

Od wersji Docker Engine 29 demon Dockera wymusza minimalną wersję API na poziomie 1.44. Problem polega na tym, że aktualna wersja Portainer CE wciąż korzysta ze starszej wersji Docker API.

Efekt jest następujący:

  • Docker działa poprawnie
  • Kontener Portainera uruchamia się bez błędów
  • Portainer nie może połączyć się z lokalnym Dockerem

To powoduje, że środowisko local jest oznaczone jako niedostępne.


Najprostsze i najszybsze rozwiązanie problemu

Rozwiązaniem jest obniżenie minimalnej wersji Docker API, którą demon Dockera akceptuje od klientów takich jak Portainer.

Wykonuje się to poprzez edycję pliku konfiguracyjnego Dockera:

Krok 1: Edycja pliku /etc/docker/daemon.json

Na hoście (Debian, Ubuntu, Raspberry Pi OS) otwórz plik:

sudo nano /etc/docker/daemon.json

Jeżeli plik nie istnieje, utwórz go i wklej:

{
  "min-api-version": "1.24"
}

Jeżeli plik już istnieje (np. zawiera data-root), dopisz nową linię, zachowując poprawną składnię JSON:

{
  "data-root": "/var/lib/docker",
  "min-api-version": "1.24"
}

Uwaga: brak przecinka między wpisami spowoduje, że Docker nie uruchomi się.


Krok 2: Restart Dockera

sudo systemctl daemon-reload
sudo systemctl restart docker

Sprawdź, czy Docker działa poprawnie:

docker ps

Krok 3: Restart Portainera

docker restart portainer

Po kilku sekundach odśwież interfejs Portainera w przeglądarce.


Efekt końcowy

Po wykonaniu powyższych kroków:

  • środowisko local w Portainerze staje się dostępne
  • można normalnie zarządzać kontenerami i stackami
  • nie ma potrzeby downgrade’u Dockera

Podsumowanie

Problem z Portainerem po aktualizacji Dockera wynika z niezgodności wersji Docker API, a nie z błędnej konfiguracji kontenera.

Dodanie wpisu:

"min-api-version": "1.24"

w pliku /etc/docker/daemon.json jest obecnie najszybszym i najbezpieczniejszym rozwiązaniem, dopóki Portainer nie wprowadzi pełnej kompatybilności z Docker Engine 29.

G

Tagi: , , ,

Portainer po aktualizacji Docker 26 – problemy

29 czerwca, 2024 | Brak Komentarzy | Kategoria: Linux, Porady
Portainer Docker 26 - problemy

Wprowadzenie

Niedawna aktualizacja Dockera do wersji 26 spowodowała problemy dla użytkowników Portainera. W tym artykule omówimy na czym polegają te problemy, jakie są ich przyczyny oraz jak można je rozwiązać. Pokażemy również przykłady możliwych działań, aby uniknąć zakłóceń w działaniu systemów.

Problem

Po aktualizacji Dockera do wersji 26, wielu użytkowników Portainera (wersja 2.19.4) zauważyło, że nie mogą wyświetlać szczegółów obrazów ani uzyskiwać dostępu do konsoli kontenerów. Utrudnia to poważnie zarządzanie kontenerami i monitorowanie ich stanu.

Przykłady problemów

  • Brak możliwości przeglądania szczegółów obrazów Docker.
  • Niedziałająca konsola kontenerów, co uniemożliwia wykonywanie poleceń wewnątrz kontenerów.

Przyczyny

Problemy te wynikają z usunięcia niektórych funkcji w Dockerze 26, na których polegała poprzednia wersja Portainera. Zmiany w Dockerze spowodowały, że niektóre API używane przez Portainera przestały działać zgodnie z oczekiwaniami.

Rozwiązania

Tymczasowe rozwiązanie

Jednym z tymczasowych rozwiązań jest cofnięcie wersji Dockera do 25.0.5. Umożliwi to powrót do poprzedniej funkcjonalności, zanim zostanie wprowadzona odpowiednia poprawka w Portainerze.

Aktualizacja Portainera

Zespół Portainera szybko zareagował na zgłoszone problemy i wydał wersję 2.20.1, która naprawia problemy z kompatybilnością z Dockerem 26. Zaleca się aktualizację Portainera do tej wersji, aby uniknąć dalszych problemów.

Jak przeprowadzić aktualizację

  1. Cofnięcie wersji Dockera:
  • Odinstaluj obecną wersję Dockera.
  • Zainstaluj Docker w wersji 25.0.5 z odpowiedniego źródła.
  1. Aktualizacja Portainera:
  • Przejdź do strony Portainera i pobierz najnowszą wersję.
  • Zaktualizuj Portainera do wersji 2.20.1 zgodnie z instrukcjami na stronie.

Przykładowe komendy aktualizacji

# Cofnięcie wersji Dockera do 25.0.5
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get install docker-ce=5:20.10.5~3-0~ubuntu-focal

# Aktualizacja Portainera do wersji 2.20.1
docker pull portainer/portainer-ce:2.20.1
docker stop portainer
docker rm portainer
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:2.20.1

G

Tagi: , ,

Reset hasła administratora – Portainer

29 marca, 2023 | Brak Komentarzy | Kategoria: Linux, Porady
Portainer

Konteneryzacja przy użyciu Dockera jest obecnie jednym z absolutnie topowych tematów. Świat zmierza w kierunku upraszczania i przyspieszania wszelkich operacji więc nikogo nie zdziwi, że do zarządzania Dockerem najłatwiej i najszybciej jest użyć nakładki o nazwie Portainer. Niestety zawodna pamięć ludzka (oraz brak dobrych nawyków) często prowadzą nas na manowce. W konsekwencji może zdarzyć się, że hasło administracyjne do tego ostatniego po prostu nam umknie. Co wtedy zrobić?

Po pierwsze musimy zmierzyć się z konsolą serwera i zatrzymać kontener Portainer:

docker stop "id-kontenera-portainera"

W drugim kroku przystępujemy do właściwej operacji pobierając odpowiednie narzędzie z repozytorium:

docker pull portainer/helper-reset-password

Ostatecznie możemy zeresetować hasło dla konta admin:

docker run --rm -v portainer_data:/data portainer/helper-reset-password

W wyniku działania powyższej komendy powinniśmy otrzymać zestaw niezbędnych informacji:

... Password succesfully updated for user: admin
... Use the following password to login: ****

Zwróćmy uwagę na wyświetlane hasło, które trzeba zapamiętać. Najprawdopodobniej zmienimy je przy pierwszej okazji ale na razie będzie nam potrzebne.

Na koniec używamy poniższego polecenia, aby ponownie uruchomić kontener z Portainerem, a następnie zalogować się przy użyciu nowego hasła.

docker start "id-kontenera-portainera"

Jak wspomniałem podejrzewam, że pierwszą czynnością będzie zmiana hasła i cały cykl znowu może się powtórzyć. 😉

Tagi: , ,

Portainer – aktualizacja

26 września, 2021 | Brak Komentarzy | Kategoria: Linux, Porady
Portainer i dockery

Portainer to jedna z najlepiej znanych i powszechnie stosowanych platform do wygodnego zarządzania kontenerami Dockera. Zamiast koncentrować się na zapamiętaniu komend linii poleceń możemy przez interfejs graficzny wyklikać praktycznie wszystko. Oczywiście, że zawsze znajdą się zwolennicy „czarnego ekranu”, przyznam że rówież często korzystam z tej metody, ale przy dużej liczbie zarządzanych kontenerów wygodniej jest po prostu skorzystać z przeglądarki.

Od czasu do czasu, w dolnym lewym rogu ekranu powitalnego Portainera pojawia się jednak informacja o dostępności nowej wersji. I w tym przypadku, nie ma już wyjścia, musimy posilić się bezpośrednio terminalem tekstowym. Poniżej zamieściłem podstawowe komendy, których użycie pozwoli zaktualizować Portainer. Oczywiście założyłem, że środowiskiem uruchomieniowym naszego Dockera jest Linux. W moim przypadku, bez wyjątku to któraś wersja pochodna z gałęzi Dabiana. Należy również wspomnieć, że jak będziemy już mieć najnowszy Portainer, to z jego poziomu możemy aktualizować inne kontenery, nie używając linii poleceń.

Zaczynamy od wpisania dwóch poleceń aby zatrzymać i usunąć kontener Portainera:

docker stop portainer
docker rm portainer

Następnie usuwamy obraz Portainera z lokalnego repozytorium:

docker images
docker rmi [IMAGE ID]

Pierwsze polecenie pokaże nam listę wszystkich obrazów. W kolejnym staramy się usunąć wybrany poprzez wskazanie jego ID.

Teraz czas na pobranie najnowszego obrazu Poratinera:

docker pull portainer/portainer-ce

I wreszcie możemy zainstalować nową wersję platformy:

docker run -d -p 8000:8000 -p 9000:9000 —name=portainer /
—restart=always -v /var/run/docker.sock:/var/run/docker.sock /
-v portainer_data:/data portainer/portainer-ce

Dobrze jest pamiętać aby nie zmieniać wartości parametru portainer_data, dzięki czemu nie stracimy ustawień konfiguracyjnych pomiędzy kolejnymi aktualizacjami.

I to wszystko. Teraz można przystąpić do testowania.

MG

Tagi: , , , ,