Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 8653|Odpowiedź: 6

Logi docker wypełniają dyski i migrację danych

[Skopiuj link]
Opublikowano 07.02.2022 10:21:43 | | | |
Kolega zareagował, że system nie może zalogować się do środowiska testowego, zdecydowanie sprawdził monitoring, stwierdził, że port serwisowy jest otwarty, zalogował się na serwer, aby sprawdzić użycie dysku twardego i stwierdził, że katalog zamontowany na danym dysku jest pełny, jak pokazano na poniższym rysunku:



Dysk jest w 100% tym samym dyskiem używanym przez aplikację docker i początkowo podejrzewa się, że niemożność zapisywania plików logów uniemożliwia modułowi świadczenie usług dla świata zewnętrznego.

CentOS liczy każdy rozmiar folderu i szuka dużych plików
https://www.itsvse.com/thread-9542-1-1.html
Szukaj dużych plików i w końcu znajdź je w podkatalogu /var/lib/docker/containers/Pewien plik json.log zajmuje 30G

Czyszczenie rejestrów pojemników (leczenie objawów)

Aby pojemnik mógł od razu normalnie podać. Tymczasowe rozwiązanie: szybkie oczyszczenie takich plików, zwolnienie miejsca na dysku twardym, skrypt wygląda następująco:

Jeśli kontener docker działa, to po usunięciu logów za pomocą rm -rf zauważysz, że miejsce na dysku nie jest zwalniane przez df -h. Powodem jest to, że na systemach Linux lub Unix usunięcie pliku przez rm -rf lub menedżera plików odłącza go od struktury katalogów systemu plików. Jeśli plik zostanie otwarty (a proces jest używany), proces nadal będzie mógł go odczytać, a miejsce na dysku będzie cały czas zajmowane. Poprawna pozycja to cat /dev/null > *-json.log, a oczywiście możesz też zrestartować dockera po jego usunięciu przez rm -rf.

Uwaga:Utwórz nowy skrypt w katalogu wolnego dysku, w przeciwnym razie skrypt nie może być utworzony normalnie


Ustawianie rozmiaru logu kontenera docker (przyczyna źródłowa)

Ustaw maksymalny rozmiar logu usługi kontenera i dodaj parametr ustawiający rozmiar logu kontenera podczas uruchamiania kontenera, na przykład:

maksymalny rozmiar=500 m, co oznacza, że górna granica rozmiaru kłodu kontenera wynosi 500 m,
max-file=3, co oznacza, że kontener ma trzy logi, mianowicie id+.json, id+1.json i id+2.json.


Docker przeniósł się na nowy dysk

Dane związane z dockerem istnieją na dysku systemowym, dysku systemowego ma tylko 50G, a dysk 100G, jak przenieść istniejące dane z Dockera na dysk danych?

Dla dockerów zainstalowanych metodą systemową yum w CentOS, domyślny katalog instalacyjny powinien wyglądać: /var/lib/docker

Wersja Docker< v17.05.0

Ponieważ dockerd może określić ścieżkę pamięci obrazu i kontenera przez graf parametrów, takie jak –graph=/var/lib/docker, wystarczy zmodyfikować plik konfiguracyjny, aby określić parametry startowe.

Plik konfiguracyjny Dockera może ustawić większość parametrów procesów w tle, a miejsce przechowywania w każdym systemie operacyjnym jest niespójne, w Ubuntu: /etc/default/docker, a w CentOS: /etc/sysconfig/docker.

Wersja Dockera >= v17.05.0

Ponieważ Docker oficjalnie wycofał funkcję grafu w tej wersji, jeśli masz zainstalowaną wersję Dockera >= v17.05.0 na swoim komputerze, nie możesz modyfikować domyślnego katalogu instalacyjnego (storage) Dockera poprzez określenie parametru grafu w pliku konfiguracyjnym /etc/default/docker.

Istnieją inne sposoby, w jakie nowa wersja Dockera może osiągnąć nasz cel modyfikacji katalogu instalacyjnego (storage): poprzez modyfikację (nowego) /etc/docker/daemon.json w celu określenia wartości parametru korzenia danych.

Docker daemon directory configuration:Logowanie do linku jest widoczne.

Przygotowanie do migracji: Zatrzymać wszystkie aplikacje kontenerowe i zatrzymać usługi docker (systemctl stop docker).


Docker analizuje ustawienia restartu kontenerów i kontenery bulk stop
https://www.itsvse.com/thread-10130-1-1.html
Utwórz nowy katalog w /home/software za pomocą następującego polecenia:

Migracja katalogu /var/lib/docker do katalogu /home/software/docker (zaleca się go skopiować, a następnie usunąć plik katalogu /var/lib/docker, gdy to będzie możliwe), polecenie wygląda następująco:

Podczas kopiowaniaUpewnij się, że dodasz parametr -a, bo inaczej niektóre kontenery nie będą działać poprawnie!!!!!

Zobacz wszystkie miękkie połączenia i punkty plików w aktualnym katalogu za pomocą następującego polecenia:


Zmodyfikuj plik /etc/docker/daemon.json za pomocą następującego polecenia:



Zapisz, a następnie rozpocznij usługę docker następującym poleceniem:

Uruchom kontener, testy działają normalnie, i na koniec,Usuń folder /var/lib/docker



(Koniec)




Poprzedni:Sprawdź czasy włączania i wyłączania systemu Linux
Następny:Fabryki filtrów wbudowane w Spring Cloud Gateway
Opublikowano 13.02.2022 16:36:29 |
Naucz się uczyć się。。。。。
 Ziemianin| Opublikowano 24.02.2022 09:38:26 |
Docker: Jak usunąć obraz noe
https://www.itsvse.com/thread-10112-1-1.html
 Ziemianin| Opublikowano 24.02.2022 13:21:48 |
Lista
opis
ID i nazwa CONTAINERIdentyfikacja i nazwa kontenera
Procent CPU i procent MEMProcent procesora i pamięci hosta, który pojemnik wykorzystuje
UŻYCIE / LIMIT PAMIĘCICałkowita pamięć, którą kontener zużywa, oraz całkowita ilość pamięci dozwolonej do wykorzystania
NET I/OIlość danych, które kontener wysyła i odbiera przez swój interfejs sieciowy
BLOCK I/OIlość danych, które kontener odczytuje i zapisuje z urządzenia blokującego na hostze
PID-yLiczba procesów lub wątków utworzonych przez kontener


 Ziemianin| Opublikowano 25.03.2022 14:45:13 |
Odpowiednią aplikację kontenerową można znaleźć, zadając wartość Name pliku /var/lib/docker/containers/xxxx/config.v2.json.



Opublikowano 07.12.2022 14:17:31 |
Logi docker wypełniają dyski i migrację danych
 Ziemianin| Opublikowano 17.04.2023 09:59:49 |
Docker opróżnia logi kontenera pojedynczo za pomocą następującego polecenia:

Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com