Nie rezerwuj jednej nieograniczonej puli na logi Dockera. Ustaw rotację dla poszczególnych kontenerów i utrzymuj osobny minimalny poziom wolnego miejsca na hoście. Praktycznym punktem wyjścia jest 30–100 MB dla standardowych kontenerów, a większe limity należy stosować tylko w przypadku usług, których okno diagnostyczne tego wymaga.
Całkowita przestrzeń to limit przypadający na kontener pomnożony przez liczbę kontenerów, powiększony o logi demona, journald, aplikacji, awarii i tymczasowe. Prawidłowa rezerwa musi również umożliwiać pobieranie obrazów, aktualizacje i ponowne uruchamianie kontenerów podczas skoku ilości logów. To rozróżnienie wyznacza metodę pomiaru, margines bezpieczeństwa i warunek zatrzymania. To rozróżnienie wyznacza metodę pomiaru, margines bezpieczeństwa i warunek zatrzymania.
Zbuduj budżet na podstawie każdego źródła logów
Zidentyfikuj sterownik logowania Dockera, liczbę kontenerów, tempo generowania logów, okres przechowywania oraz wszelkie logi aplikacji zapisywane w woluminach. Rotacja standardowego wyjścia nie ogranicza osobnego pliku logu utworzonego przez aplikację.
Dla `json-file` ustawienia `max-size=10m` i `max-file=3` ograniczają przechowywane pliki do około 30 MB na kontener. Sterownik `local` dodaje kompresję i ograniczoną rotację, ale istniejące kontenery mogą wymagać ponownego utworzenia, aby zastosować zmienione ustawienia domyślne.
Zarezerwuj dodatkowy zapas miejsca na dysku systemowym na obrazy, warstwy zapisywalne, aktualizacje pakietów i awaryjną diagnostykę. Nie pozwól, aby budżet na logi zużył ostatnią użyteczną przestrzeń w `/var/lib/docker`.
Alarmuj na podstawie tempa i wolnego miejsca, nie tylko rozmiaru
Śledź liczbę bajtów na kontener, przyrost na godzinę, zdarzenia rotacji, liczbę wolnych bajtów systemu plików oraz wykorzystanie i-węzłów. Nagła zmiana tempa często ujawnia pętlę awarii, zanim dysk się zapełni.
Ustaw progi ostrzegawcze i krytyczne wystarczająco wcześnie, aby zachować możliwość ponownego uruchamiania i aktualizowania systemu. W przypadku małego dysku systemowego stała rezerwa operacyjna wynosząca 5–10 GB może być bardziej miarodajna niż sam procent.
Użyj poniższej tabeli, aby przełożyć obserwowane zachowanie na limit.
| Obserwowany stan | Ocena | Następne działanie |
|---|---|---|
| Standardowa usługa; niskie tempo logowania | Limit początkowy 30–100 MB | Dostosuj do okna diagnostycznego |
| Usługa generująca skokowo logi z uzasadnioną historią | Większy, jawnie określony wyjątek | Monitoruj przyrost i przekazywanie logów |
| Brak rotacji; spadająca ilość wolnego miejsca | Niebezpieczne | Włącz limity przed normalnym użyciem |
Zastosuj rotację bez utraty istotnych danych
Ustaw domyślne wartości demona i jawne wyjątki dla usług o dużej wartości, a następnie utwórz ponownie kontenery lub wdroż je ponownie, aby ustawienia zaczęły obowiązywać. Potwierdź aktywny sterownik i opcje za pomocą inspekcji kontenera.
Przekazuj logi bezpieczeństwa lub audytu do osobnego, trwałego miejsca docelowego, jeśli muszą przetrwać lokalną rotację. Standardowe dane debugowania nie powinny być przechowywane bezterminowo na dysku systemowym.
Procedura analizy przyrostu zajętości dysku przez Dockera firmy ZimaSpace oddziela logi od warstw i woluminów.
Analiza rotacji logów RunBook Academy pokazuje, jak `max-size` i `max-file` tworzą przewidywalny limit.
Wymuś walidację kontenera generującego dużo logów
Wygeneruj kontrolowany strumień logów w kontenerze testowym i obserwuj rotację plików. Potwierdź, że stare pliki znikają po osiągnięciu skonfigurowanej liczby oraz że kontener nadal działa.
Uruchom ponownie Dockera i hosta, a następnie powtórz kontrolę. Sprawdź, czy alarmy uruchamiają się, zanim rezerwa operacyjna zostanie wykorzystana, oraz czy logi aplikacji poza sterownikiem mają osobne limity.
Kontynuuj, gdy najgorszy łączny rozmiar logów mieści się w budżecie, a rotacja działa po ponownym uruchomieniu. Zatrzymaj się i napraw konfigurację, jeśli jeden z kontenerów rośnie bez ograniczeń, rotacja nie jest aktywna lub ilość wolnego miejsca spada poniżej rezerwy systemowej.
Wsparcie i wskazówki
Więcej do przeczytania

Jaki zakres temperatur jest odpowiedni dla dysku NVMe w minikomputerze?
W przypadku wielu konsumenckich dysków NVMe dobrym celem jest około 30-50°C w spoczynku i poniżej 70°C przy stałym obciążeniu, ale decydujący jest limit konkretnego...

Ile miejsca na dysku SSD serwer multimediów powinien zarezerwować na okładki i pamięć podręczną?
Zacznij od zmierzonego zużycia danych aplikacji i dodaj 50–100% zapasu na wzrost; miniatury podglądu w wysokiej jakości mogą wymagać znacznie więcej miejsca na dysku...

Ilu klientów SMB może jednocześnie obsługiwać NAS z 1GbE bez problemów?
NAS 1GbE może obsługiwać wiele lekkich klientów, ale tylko kilka intensywnych transferów; wspólny praktyczny limit wynosi około 100–115 MB/s, zanim pojawią się inne ograniczenia.

