Docker コンテナのログで特定の文字列を見つける最も良い方法は何ですか? 「127」で始まる IP から送信された「nginx」Docker イメージで行われたすべてのリクエストを確認したいとします。
grep は docker logs コマンドでは期待どおりに動作しません:
docker logs nginx | grep "127."
すべてのログを印刷しますが、結果はフィルタリングされません。
ベストアンサー1
これは、コンテナが stderr にログ記録している場合に発生する可能性があります。パイプは stdout に対してのみ機能するため、次を試してください。
docker logs nginx 2>&1 | grep "127."
- 「2>&1"はシェルにリダイレクトするように指示します標準エラー出力に標準出力
- 「|"パイプを使用してgrepに「統合された」出力を与える