Docker लॉग्स का सही तरीके से उपयोग कैसे करें
(insight.infograb.net)- Docker के साथ application deploy करके service चला रहे Linux server पर कभी-कभी disk capacity कम होने का संदेश दिखाई देता है
- भले ही वास्तविक application द्वारा बनाए और संग्रहीत किए गए data तथा logs का आकार बड़ा न हो, फिर भी पूरे system storage की capacity Full हो सकती है
- Docker इस्तेमाल करते समय storage capacity कम पड़ने के कारणों में से एक है 'Docker container logs'
- Docker logging driver और log location
- logging driver: Docker में एक logging mechanism शामिल होता है जो चल रहे containers और services से जानकारी प्राप्त करने में मदद करता है; इसे ही logging driver कहते हैं
docker logsकमांड: चल रहे container द्वारा रिकॉर्ड की गई जानकारी दिखाता हैdocker service logsकमांड: service में शामिल सभी containers द्वारा रिकॉर्ड की गई जानकारी दिखाता है- Docker, सभी container logs के standard output(stdout) या standard error(stderr) को capture करके JSON format में file में रिकॉर्ड करने वाले
json-filelogging driver का उपयोग करता है docker runयाdocker-compose upकमांड से Docker container चलाने पर/var/lib/docker/containers/[Container-ID]/[Container-ID]-json.logfile बनती है और logs रिकॉर्ड होते हैंjson-filelogging driver log rotation नहीं करता- इस logging driver से संग्रहीत log files, यदि container बहुत अधिक output उत्पन्न करता है, तो काफी disk space इस्तेमाल कर सकती हैं, और इससे disk space समाप्त हो सकता है
- Docker container log size कम करना
docker rmयाdocker-compose downकमांड चलाने पर Docker container हट जाता है, और/var/lib/docker/containersके अंतर्गत[Container-ID]से संबंधित directory भी हट जाती है- इससे बहुत अधिक disk space घेरने वाली
[Container-ID]-json.logfile भी साथ में हट जाती है, और पूरे system की disk space फिर से उपलब्ध हो जाती है
- इससे बहुत अधिक disk space घेरने वाली
truncate -s 0 <json-log-file>कमांड चलाने पर log file का size 0 किया जा सकता है
- log rotation सेट करना
- log file का maximum size(
max-size) और maximum file count(max-file) निर्धारित करके log rotation सक्रिय किया जा सकता है - file size तय की गई maximum value तक पहुंचने पर उसे नई file से बदल दिया जाता है, और पुरानी files
...-json.log.1,...-json.log.2के रूप में maximum count तक बनती हैं - इसे पार करने पर सबसे पुरानी file हटा दी जाती है, जिससे Docker container की log file का आकार अनंत तक बढ़ने से रोका जा सकता है
- log file का maximum size(
अभी कोई टिप्पणी नहीं है.