Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 8653|Отговор: 6

Docker логовете запълват дисковете и миграцията на данни

[Копирай линк]
Публикувано в 7.02.2022 г. 10:21:43 ч. | | | |
Колегата реагира, че системата не може да влезе в тестовата среда, решително провери мониторинга и установи, че сервизният порт е отворен, влезе в сървъра, за да провери използването на твърдия диск и установи, че директорията, монтирана на определен диск, е пълна, както е показано на фигурата по-долу:



Дискът е 100% дискът, използван от docker приложението, и първоначално се подозира, че невъзможността за записване на лог файлове пречи на модула да предоставя услуги на външния свят.

CentOS брои размера на всяка папка и търси големи файлове
https://www.itsvse.com/thread-9542-1-1.html
Потърсете големи файлове и най-накрая ги намерете под поддиректорията /var/lib/docker/container/Определен json.log файл заема 30G

Почистване на течащи контейнерни трупове (лечение на симптомите)

За да може контейнерът да се сервира нормално веднага. Временно решение, бързо почистване на такива файлове, освобождаване на място на твърдия диск, скриптът е следният:

Ако docker контейнерът работи, след като изтриеш логовете с rm -rf, ще откриеш, че дисковото пространство не се освобождава чрез df -h. Причината е, че при Linux или Unix системи изтриването на файл чрез rm -rf или файлов мениджър ще го откачи от директорията на файловата система. Ако файлът е отворен (и има процес, който се използва), процесът все пак ще може да чете файла и дисковото пространство ще бъде заето постоянно. Правилната поза е cat /dev/null > *-json.log, и разбира се можеш да рестартираш docker след като го премахнеш чрез rm -rf.

Забележка:Създайте нов скрипт в директорията на свободния диск, в противен случай скриптът не може да бъде създаден нормално


Задаване на размера на лога на Docker контейнера (коренна причина)

Задайте максималния размер на лога на контейнерна услуга и добавете параметър, който да задава размера на лога на контейнера при стартиране на контейнера, например:

max-size=500m, което означава, че горната граница на размера на лога на контейнер е 500M,
max-file=3, което означава, че контейнерът има три лога, а именно id+.json, id+1.json и id+2.json.


Docker мигрира на нов диск

Данните, свързани с Docker, съществуват на системния диск, системният диск е само 50G, а дискът с данни е с размер 100G, как да преместя съществуващите данни на Docker към диска с данни?

За docker, инсталиран чрез метода CentOS system yum, стандартната инсталационна директория трябва да бъде: /var/lib/docker.

Docker версия < v17.05.0

Тъй като dockerd може да задава пътя за съхранение на изображение и контейнер през параметърния граф, като –graph=/var/lib/docker, трябва само да модифицираме конфигурационния файл, за да зададем параметрите за стартиране.

Конфигурационният файл на Docker може да задава повечето от параметрите на фоновия процес, а мястото за съхранение във всяка операционна система е несъвместимо – в Ubuntu: /etc/default/docker, а в CentOS: /etc/sysconfig/docker.

Docker версия >= v17.05.0

Тъй като Docker официално премахна графовата функция в това издание, ако имате инсталирана Docker версия >= v17.05.0 на машината си, не можете да променяте стандартната инсталационна (хранилища) директория на Docker, като зададете параметъра граф в конфигурационния файл /etc/default/docker.

Има и други начини, по които новата версия на Docker може да постигне целта ни да модифицираме директорията за инсталация (съхранение): чрез модифициране на (нов) /etc/docker/daemon.json за задаване на стойността на параметъра data-root.

Docker daemon directory configuration:Входът към хиперлинк е видим.

Подготовка за миграция: Спрете всички контейнерни приложения и спрете docker услугите (systemctl stop docker).


Docker разглежда настройките за рестартиране на контейнери и контейнери за масово спиране
https://www.itsvse.com/thread-10130-1-1.html
Създайте нова директория в /home/software със следната команда:

Мигрирайте директорията /var/lib/docker към директорията /home/software/docker (препоръчва се да я копирате, а след това да изтриете файла с директорията /var/lib/docker, когато е наред), командата е следната:

При копиранеНе забравяйте да добавите параметъра -a, иначе някои контейнери няма да работят правилно!!!!!

Прегледайте всички софтуерни връзки и файлови точки в текущата директория със следната команда:


Променете файла /etc/docker/daemon.json със следната команда:



Запазете, след това стартирайте docker услугата със следната команда:

Стартирам контейнера, тестовете вървят нормално и накрая,Изтрийте папката /var/lib/docker



(Край)




Предишен:Провери времето за включване и изключване на Linux системата
Следващ:Фабрики за филтри, вградени в Spring Cloud Gateway
Публикувано в 13.02.2022 г. 16:36:29 ч. |
Научи се да учиш。。。。。
 Хазяин| Публикувано в 24.02.2022 г. 9:38:26 ч. |
Docker как да премахнете изображение на None
https://www.itsvse.com/thread-10112-1-1.html
 Хазяин| Публикувано в 24.02.2022 г. 13:21:48 ч. |
Списък
описание
ID и име на контейнерИдентификацията и името на контейнера
CPU % и MEM %Процентът от процесора и паметта на хоста, които контейнерът използва
ИЗПОЛЗВАНЕ НА МЕМИ / ЛИМИТОбщата памет, която контейнерът използва, и общото количество разрешено количество памет
NET I/OКоличеството данни, които контейнерът изпраща и получава през мрежовия си интерфейс
BLOCK I/OКоличеството данни, които контейнерът чете и записва от блоково устройство на хоста
PIDБроят на процесите или нишките, създадени от контейнера


 Хазяин| Публикувано в 25.03.2022 г. 14:45:13 ч. |
Можете да намерите съответното контейнерно приложение, като направите заявка към стойността Name на файла /var/lib/docker/containers/xxxx/config.v2.json.



Публикувано в 7.12.2022 г. 14:17:31 ч. |
Docker логовете запълват дисковете и миграцията на данни
 Хазяин| Публикувано в 17.04.2023 г. 9:59:49 ч. |
Docker изпразва логовете на контейнера поотделно със следната команда:

Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com