1. ホーム
  2. logging

[解決済み] 実行中のDockerコンテナからファイルや標準出力を読み込む方法

2023-04-29 01:36:32

質問

実行中の docker コンテナからファイルや stdout を読み込むために、自分のホストマシンでアプリケーションを起動するにはどうしたらよいでしょうか。

基本的に私はこれをしたいのです。

docker start containerid   
./myapp // This app will *somehow* have access files and stdout generated by the container I just stared. 

どうすればいいのでしょうか?もっと具体的に言うと、dockerコンテナのログと標準出力を読み込んで、そのログを別の場所で処理させたいと思っています。

私はまた、別のコンテナからファイルと標準出力を読み取ることができる別のドッカーコンテナを作成したいのですが、それが可能かどうかはわかりません。

どのように解決すればよいのでしょうか?

この stdout は、ドッカーコンテナによって起動されたプロセスの docker logs $containerid コマンド (使用 -f を使えば、ずっと続けることができます)。もう一つの方法として、ログを直接ストリームするために ドッカーリモート API .

ログファイルへのアクセス (どうしても必要な場合のみ、標準出力へのログ記録や、syslogd などの標準的なソリューションを検討してください) のための、唯一のリアルタイムオプションは、以下のとおりです。 ボリュームを構成する (Marcus Hughes が提案するように) ボリュームを構成し、ログをコンテナの外に保存して、ホストまたは別のコンテナから処理できるようにすることです。

ログにリアルタイムでアクセスする必要がない場合。 ファイルをエクスポートすることができます。 を (tar 形式で) エクスポートできます。 docker export