docker run
は通常、実行したコマンドの出力を返します。 Dockerにデータを渡し、データを処理するコマンドを実行して、出力を返す必要があります。 -i
オプションを使用すると、出力が返されません。この簡単な例を考えてみましょう。
echo hello | docker run -i base wc
出力を返しません。 -i
オプションを使用しているときにdockerから出力を取得するにはどうすればよいですか?
私が思いついた解決策は次のとおりです。
ID=$(echo hello | docker run -i -a stdin base wc)
docker logs $ID
これが最善の方法かどうかはわかりませんが、機能します。