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 サイトの他の関連記事を参照してください。