2

私はドッカー1.10.3でプレーアプリケーションを実行しています。我々は負荷テストを行うために毎秒1000要求でこのアプリケーションを打っています。アプリケーションは正常に動作します。 Dockerが消費する重要なHDメモリがあります。 3日間で、ドッカーはfron 2.2gb〜39gbを消費した。これは私たちの負荷を心配しています。より多くのHDメモリを消費するドッカー

ドッカーINFOと消費スペースは、任意のHDメモリーをconsumenしないドッキングウィンドウをconfigreしたenter image description here

あり を強調しましたか? 助けていただければ幸いです。

+1

どのファイルがこの領域をすべて占有しているのですか?私の推測は、要求の数が増え続けるログファイルです。 – vdebergue

+0

ドッカー内部です。それはアプリケーションとは関係ありません。私はちょうどこれを取り除くためにDocketにnay設定があるかどうかを知りたいと思っていました。 – Prakash

答えて

4

Dockerはアプリケーションの標準出力(STDOUT)をキャプチャし、デフォルトで内部ログファイルに保存します。このファイルは/var/lib/docker/containers/$CONTAINER_ID/$CONTAINER_ID-json.logにあります。このファイルはデフォルトでローテートされておらず、アプリケーションがSTDOUTに冗長に出力すると大きくなります。

2つの解決策:ドッカーログファイルの

  1. 設定ログローテーション。あなたはオプションで遊ぶことができます

    /var/lib/docker/containers/*/*.log { 
        rotate 7 
        daily 
        compress 
        size=1M 
        missingok 
        delaycompress 
        copytruncate 
    } 
    

    :私は、次の内容のファイル/etc/logrotate.d/docker-containerを作成することで、ドッカーのログローテーションを有効にする方法について説明しgood article hereを見つけました。それらはすべてlogrotate's man pageに記載されています。

  2. 使用のコンテナを作成するときに--log-driverオプションを指定して、あなたのコンテナ用の代替ログ:

    $ docker run --log-driver=syslog your_image 
    

    利用可能なドライバがthe official documentationに記載されています。例えば、--log-driver=syslogを使用すると、システムのsyslogデーモンを使用したり、さまざまなクラウドサービスを対象にしたり、ログ全体を--log-driver=noneで無効にすることができます。

+0

これらのオプションをお試しいただきありがとうございます – Prakash

関連する問題