ローカルファイル・ロギング・ドライバ

local ロギング・ドライバはコンテナの標準出力(stderr)・標準エラー出力(stderr)を取り込み、それらを内部ストレージに書き込みます。ストレージは性能とディスク使用のために最適化されています。

デフォルトでは、 local ドライバはコンテナごとに 100MB のログ・メッセージを維持し、ディスク上の容量を減らすために自動的に圧縮を使います。100MB のデフォルトの値とは、各ファイルのデフォルトサイズが 20M で、かつ、これらのファイル数がデフォルトでは 5 だからです(ログをローテーションする回数分です)。

注釈

local ロギング・ドライバは、ファイルをベースとするストレージを使います。ファイル形式とストレージ機能は Docker デーモンのみが排他的にアクセスするよう設計されています。そのため、今後のリリースでの実装の影響を避けるため、外部のツールからは使われるべきではありません。

使い方

local ドライバをデフォルトのロギング・ドライバとして使うためには、 daemon.json ファイルで log-driverlog-opt キーに適切な値を設定します。ファイルは Linux ホスト上では /etc/docker にあり、 Windows Server 上では C:\ProgramData\docker\config\daemon.json にあります。 daemon.json を使って Docker を設定する方法は、 daemon.json をご覧ください。

以下の例は、ログドライバを local に設定し、 max-size オプションを指定しています。

{
  "log-driver": "local",
  "log-opts": {
    "max-size": "10m"
  }
}

設定を変えるには Docker を再起動し、それ以後作成するコンテナに対して有効になります。既存のコンテナは新しいログ設定は適用されません。

特定のコンテナに対してのみロギング・ドライバを指定したい場合は、 --log-driver フラグを docker container createdocker run で指定します。

$ docker run \
      --log-driver local --log-opt max-size=10m \
      alpine echo hello world

オプション

local ロギング・ドライバは以下のロギング・オプションをサポートしています。

オプション 説明 サンプル値
max-size ログファイルが回される前の、最大サイズです。整数値と容量を表す単位( kmg )を追加します。デフォルトは 20m です。 --log-opt max-size=10m
max-file 存在する最大のログファイル数です。ログへの追記がファイルを超過すると、ログを回しはじめ、古いファイルは削除します。整数値で指定します。デフォルトは 5 です。 --log-opt max-file=3
compress ログファイルの回転時に圧縮するかどうか切り替えます。デフォルトは圧縮が有効です。 --log-opt compress=false

以下の例は、 alpine コンテナの開始にあたり、最大で3つのログファイルと、それぞれ10メガバイトを越えないように指定しています。

$ docker run -it --log-driver local --log-opt max-size=10m --log-opt max-file=3 alpine ash