причина
Недавно я обнаружил, что места на сервере всегда не хватает.После того, как я отдал все ресурсы exsi на виртуальную машину сервера, диск снова был заполнен всего за одну неделю.
Поиск больших файлов, больших каталогов
Из корневого каталога используйте
du -h --max-depth=1
Ищите большие каталоги и большие файлы слой за слоем и, наконец, найдите каталог /var/lib/docker/containers/, который занимает 44G. Проверьте и обнаружите, что файл журнала контейнера слишком велик.
Скрипт для просмотра размера журнала контейнера докеров
#!/bin/sh
echo "======== docker containers logs file size ========"
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
do
ls -lh $log
done
chmod +x docker_log_size.sh
./docker_log_size.sh
Ограничить размер журнала докера
Простое удаление файла журнала является лишь временным решением, и через некоторое время будет создано очень много файлов журнала, поэтому нам необходимо устранить основную причину.
Если вы используете docker-compose, просто добавьте в файл компоновки
logging:
driver: "json-file"
options:
max-size: "500m"
Этот элемент конфигурации, а затем обновить стек, вы можете.
В качестве альтернативы мы можем настроить глобальные параметры докера: изменить или создать новый файл /etc/docker/daemon.json:
"log-driver":"json-file",
"log-opts": {"max-size":"500m", "max-file":"1"}
Затем перезапустите демон докеров:
systemctl daemon-reload
systemctl restart docker
Однако следует отметить, что метод настройки глобальных параметров действует только на вновь развернутые контейнеры. Итак, для исходного контейнера нам нужно повторно развернуть.