У меня есть контейнер nginx, который заканчивается полным диском после того, как он работает около 10 дней. Поэтому, если новая версия приложения не выпущена, начинают возникать ошибки, которые выглядят так:
15.01.2022, 22:45:04 [крит] 13#13: *406812 mkdir() "/var/cache/nginx/uwsgi_temp/9/07" не удалось (28: на устройстве не осталось места) при чтении восходящего потока. ..
15.01.2022, 22:44:37 [крит] 13#13: *406820 pwritev() "/var/cache/nginx/client_temp/0000001078" не удалось (28: на устройстве не осталось места)...
Это произошло во время рождественских каникул, поэтому я подумал, что идеальной ситуацией здесь будет проверка работоспособности контейнера, чтобы убедиться, что на диске есть свободное место.Я думал, что добился этого с помощью этой настройки контейнера (но явно не так);
ОТ nginx: 1.21.5-alpine-perl
ЗАПУСТИТЬ обновление apk && \
apk добавить --no-cache dnsmasq супервизор curl
КОПИРОВАТЬ ./config/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
КОПИРОВАТЬ ./config/nginx.conf /etc/nginx/nginx.conf
HEALTHCHECK --interval=15s --timeout=30s \
CMD exit $(( $(df / | tail -n1 | awk '{print $5}' | sed 's/\%//') > 95 ? 1 : 0 )) || выход 1
Как проверить наличие свободного места на диске при проверке работоспособности?