ホームページ  >  記事  >  運用・保守  >  Docker がログをクリアする方法

Docker がログをクリアする方法

PHPz
PHPzオリジナル
2023-04-25 09:01:2416407ブラウズ

Docker は、オープンソースのアプリケーション コンテナ化プラットフォームであり、多くの企業や組織の間で最も人気のあるアプリケーション デプロイメント プラットフォームの 1 つとなっています。ただし、多くの Docker ユーザーは、Docker コンテナーのログが多くのディスク領域を占有していることに気づいています。これにより、ディスク容量が不足し、Docker コンテナのパフォーマンスが低下する可能性があります。この記事では、Docker がログをクリーンアップしてディスク領域を解放し、コンテナーのパフォーマンスを最適化する方法について説明します。

Docker ログとは何ですか?

Docker では、ログはすべてコンテナーによって生成された出力であり、ホスト コンピューター上のログ ファイルに保存されます。これらのログ ファイルは、Docker コンテナの状態を理解し、問題をデバッグし、アプリケーションの動作を監視するのに役立ちます。 Docker ログ ファイルは通常、var/lib/docker/containers//-json.log パスに保存されます。

Docker ログをクリーンアップする必要があるのはなぜですか?

Docker ログ ファイルは、コンテナーによって生成されたすべての出力を継続的に記録するため、非常に大きくなる可能性があります。これらのログ ファイルを定期的にクリーンアップしないと、大量のディスク領域が占有されてしまいます。サーバーでは、ディスク容量が非常に重要です。ディスク容量が不十分だと、システムのクラッシュやパフォーマンスの低下が発生する可能性があります。さらに、Docker コンテナーのログが大きすぎると、デバッグの問題が複雑になりすぎたり、Docker ログ分析ツールを徹底的に使用したりすることが避けられない作業になる可能性があります。

Docker ログをクリーンアップするにはどうすればよいですか?

Docker ログをクリーンアップする最良の方法は、コンテナーの実行中にログ レベルを管理し、ログ サイズを制限するために Docker が提供する組み込みサポートを利用することです。ただし、既存のログ ファイルをクリーンアップする必要がある場合は、次の方法を使用できます。

方法 1: Docker コマンドを使用して Docker ログをクリーンアップする

Docker には、コンテナー ログを簡単にクリーンアップできるいくつかのコマンドが用意されています。一般的なコマンドをいくつか示します。

  1. すべてのコンテナ ログ ファイルをクリアします。

すべてのコンテナ ログ ファイルをクリアするには、次のコマンドを実行します。

$ docker container prune --filter "until=24h"

これ停止したすべてのコンテナのログが削除されます。最後に 24 時間以上使用されたログは保持されます。ニーズに合わせて 24h パラメータを変更できます。

  1. 単一コンテナのログを消去します:

単一コンテナのログを消去するには、次のコマンドを実行します:

$ docker logs <container-id> > /dev/null

このコマンドは、コンテナ内のログ すべてのログはシステムの /dev/null デバイスに出力されます。これは、ログ ファイルをクリアするのと同じです。

方法 2: Docker ログを手動で消去する

ログ ファイルを手動で消去することもできます。 Docker ログを手動でクリーンアップするには、次の手順に従います。

  1. ログを削除するコンテナの ID を確認します。

コンテナ ID を確認するには、次のコマンドを実行します。次のコマンド:

$ docker container ls -a

このコマンドは、実行中、停止、削除されたコンテナのリストと、そのコンテナ ID、イメージ、および名前を返します。

  1. ホスト コンピューターでログ ファイルを見つけます。

ホスト コンピューターでは、Docker ログ ファイルは通常 /var/lib/docker/containers/< に保存されます。 container_id> /-json.log パス。container_id は、クリーンアップするコンテナーの ID です。

  1. ログ ファイルを削除します:

ログ ファイルを削除するには、次のコマンドを実行します:

$ sudo rm /var/lib/docker/containers/<container_id>/<container_id>-json.log

これにより、指定されたログ ファイルが削除されます。

注: ログ ファイルには重要なデバッグ情報やステータス情報が含まれている可能性があるため、ログ ファイルを手動で削除すると、Docker コンテナのパフォーマンスに悪影響を及ぼす可能性があります。したがって、これは慎重に行ってください。

結論

Docker ログ ファイルは多くのディスク領域を占有する可能性があります。この記事では、Docker ログをクリーンアップする 2 つの方法を紹介します。 1 つ目の方法では、Docker コマンドを使用してログ ファイルをクリーニングします。2 つ目は、ログ ファイルを手動でクリーニングします。どのアプローチを採用するかに関係なく、Docker ログのクリーニングはコンテナーの健全性を確保し、パフォーマンスを向上させるための重要なタスクです。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。