2015-10-08 13 views
29

docker-composeを使用していくつかのコンテナを実行しています。私はコマンドdocker-compose logsでアプリケーションログを見ることができます。しかし、生のログファイルにアクセスして、どこかに送信したいと思っていますか?それはどこにありますか?私はそれが各コンテナ(コンテナの内部?)が別のログだと思うが、私はそれを見つけることができる?コンテナのログを含むログファイルはどこにありますか?

答えて

56

コンテナのログがで見つけることができますこれでJSONである)

36

あなたdocker inspectそのログがどこにあるか確認するために、各コンテナことができます:

  • issue 1083:興味深いの

    docker inspect --format='{{.LogPath}}' $INSTANCE_ID 
    

ドッカー1.8とdocker-

log_driver: "json-file" 
log_opt: 
    max-size: "100k" 
    max-file: "20" 
を停止した場合のログは終了しません docker compose log driverを使用してログのサイズを制限し、ログ-OPT最大サイズをする方法が存在するが、すでにそこにある1.4を構成しますデフォルトのログ形式を使用する場合(

/var/lib/docker/containers/<container id>/<container id>-json.log 

0

は、直接私が使用して、より少ないでログファイルを表示するには:./viewLogs.sh CONTAINERNAMEとして

docker inspect $1 | grep 'LogPath' | sed -n "s/^.*\(\/var.*\)\",$/\1/p" | xargs sudo less 

実行

関連する問題