Docker ログをクリアする方法

王林
リリース: 2020-05-21 10:39:30
オリジナル
4914 人が閲覧しました

Docker ログをクリアする方法

1. Docker コンテナ ログの検索

Linux では、コンテナ ログは通常、/var/lib/docker/containers/container_id/ に保存されます。 json.log で終わるファイル (ビジネス ログ) は非常に大きいです。各ログ ファイルのサイズについては、スクリプト docker_log_size.sh を確認してください。内容は次のとおりです。

#!/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
ログイン後にコピー

2 、Docker コンテナのログをクリーンアップします

Docker コンテナが実行中の場合、rm -rf メソッドを使用してログを削除した後、ディスク領域が解放されていないことがわかります。 df -h コマンドを使用します。

その理由は、Linux または Unix システムでは、rm -rf またはファイル マネージャーを使用してファイルを削除すると、ファイル システムのディレクトリ構造からリンクが解除 (アンリンク) されるためです。ファイルが開いている (プロセスによって使用されている) 場合でも、プロセスはファイルを読み取ることができ、ディスク領域は占有されたままになります。

正しい方法はcat /dev/null > *-json.logです。もちろん、rm -rfで削除してdockerを再起動することもできます。次に、次の内容を含むログ クリーニング スクリプト clean_docker_log.sh を提供します:

#!/bin/sh echo "======== start clean docker containers logs ========" logs=$(find /var/lib/docker/containers/ -name *-json.log) for log in $logs do echo "clean logs : $log" cat /dev/null > $log done echo "======== end clean docker containers logs ========
ログイン後にコピー

次に、次のコマンドを実行します:

# chmod +x clean_docker_log.sh # ./clean_docker_log.sh
ログイン後にコピー

推奨チュートリアル:dockertutorial

以上がDocker ログをクリアする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!