コンテナのログは、標準エラー出力 (stderr)
に記録されます。
一方、「|」で記述するパイプラインは、標準出力(stdout)
で機能します。
コンテナのログをパイプラインで受け取れるように、
標準エラー出力
を標準出力
へと出力先を2>&1
で変更します。
これで、パイプ後のgrep
コマンドが動くようになります。
docker logs app 2>&1 | grep "test"
ちなみに、2>&1
を省略した形として、次のように記載することもできます。
docker logs app |& grep "test"