Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 8653|Відповідь: 6

Логи Docker заповнюють диски та міграцію даних

[Копіювати посилання]
Опубліковано 07.02.2022 10:21:43 | | | |
Колега відреагував, що система не може увійти в тестове середовище, рішуче перевірив моніторинг і виявив, що сервісний порт відкритий, увійшов на сервер для перевірки використання жорсткого диска і виявив, що каталог, змонтований на певному диску, був заповнений, як показано на рисунку нижче:



Диск на 100% відповідає тому, що використовується докер-додатком, і спочатку підозрюють, що неможливість записувати файли журналів заважає модулю надавати послуги зовнішньому світу.

CentOS рахує розмір кожної папки і шукає великі файли
https://www.itsvse.com/thread-9542-1-1.html
Шукайте великі файли і нарешті знаходьте їх у підпапці /var/lib/docker/containers/Певний файл 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 для визначення значення параметра кореня даних.

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 09:38:26 |
Docker: як видалити зображення без
https://www.itsvse.com/thread-10112-1-1.html
 Орендодавець| Опубліковано 24.02.2022 13:21:48 |
Список
опис
ID та назва CONTAINERID та назва контейнера
Відсоток CPU та MEM %Відсоток процесора та пам'яті, який використовує контейнер
ВИКОРИСТАННЯ МЕМІВ / ОБМЕЖЕННЯЗагальна пам'ять, яку використовує контейнер, та загальна кількість дозволеної для використання пам'яті
NET I/OОбсяг даних, які контейнер надсилає та отримує через свій мережевий інтерфейс
БЛОК I/OОбсяг даних, які контейнер читає та записує з блочного пристрою на хості
PIDКількість процесів або потоків, створених контейнером


 Орендодавець| Опубліковано 25.03.2022 14:45:13 |
Відповідний контейнерний додаток можна знайти, запитавши значення Name до файлу /var/lib/docker/containers/xxxx/config.v2.json.



Опубліковано 07.12.2022 14:17:31 |
Логи Docker заповнюють диски та міграцію даних
 Орендодавець| Опубліковано 17.04.2023 09:59:49 |
Docker спорожнює журнали контейнера окремо за допомогою наступної команди:

Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com