ฉันมีคอนเทนเนอร์ nginx ซึ่งลงท้ายด้วยดิสก์เต็มหลังจากใช้งานมาประมาณ 10 วัน ดังนั้นหากไม่มีการเปิดตัวแอปเวอร์ชันใหม่ ข้อผิดพลาดจะเริ่มเกิดขึ้นในลักษณะดังนี้
2022/01/15 22:45:04 [crit] 13#13: *406812 mkdir() "/var/cache/nginx/uwsgi_temp/9/07" ล้มเหลว (28: ไม่มีพื้นที่เหลือบนอุปกรณ์) ขณะอ่านอัปสตรีม ..
2022/01/15 22:44:37 [crit] 13#13: *406820 pwritev() "/var/cache/nginx/client_temp/0000001078" ล้มเหลว (28: ไม่มีพื้นที่เหลือบนอุปกรณ์)...
สิ่งนี้เกิดขึ้นในช่วงหยุดคริสต์มาส ดังนั้นฉันจึงคิดว่าสถานการณ์ที่เหมาะสมที่สุดที่นี่คือการตรวจสอบความสมบูรณ์ของคอนเทนเนอร์เพื่อให้แน่ใจว่ามีพื้นที่ว่างในดิสก์ฉันคิดว่าฉันทำสำเร็จแล้วด้วยการตั้งค่าคอนเทนเนอร์นี้ (แต่ไม่ชัดเจน);
จาก nginx:1.21.5-alpine-perl
อัปเดต RUN apk && \
apk เพิ่ม --no-cache dnsmasq ผู้บังคับบัญชา curl
สำเนา ./config/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
คัดลอก ./config/nginx.conf /etc/nginx/nginx.conf
การตรวจสุขภาพ --interval=15s --timeout=30s \
CMD ออก $(( $(df / | tail -n1 | awk '{print $5}' | sed 's/\%//') > 95 ? 1 : 0 )) || ทางออก 1
ฉันจะตรวจสอบพื้นที่ดิสก์ในการตรวจสุขภาพได้อย่างไร