Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 8653|Ответ: 6

Логи Docker заполняют диски и миграцию данных

[Скопировать ссылку]
Опубликовано 07.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 для указания значения параметра корня данных.

Docker daemon directory configuration:Вход по гиперссылке виден.

Подготовка к миграции: Остановить все контейнерные приложения и останавливать docker-сервисы (systemctl stop docker).


Docker смотрит на настройки перезапуска контейнеров и bulk stop контейнеров
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 %Процент процессора и памяти, используемого контейнером
ИСПОЛЬЗОВАНИЕ MEM / ЛИМИТОбщая память, используемая контейнером, и общее количество разрешённой памяти
NET I/OОбъём данных, которые контейнер отправляет и получает через свой сетевой интерфейс
BLOCK I/OОбъём данных, которые контейнер читает и записывает с блочного устройства на хосте
PIDКоличество процессов или потоков, создаваемых контейнером


 Хозяин| Опубликовано 25.03.2022 14:45:13 |
Вы можете найти соответствующее контейнерное приложение, запросив значение имени файла /var/lib/docker/containers/xxxx/config.v2.json.



Опубликовано 07.12.2022 14:17:31 |
Логи Docker заполняют диски и миграцию данных
 Хозяин| Опубликовано 17.04.2023 9:59:49 |
Docker опустошает логи контейнера отдельно следующей командой:

Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com