2016-05-12 28 views
13

docker-compose upを使用すると、docker-compose.ymlファイルにすべてのコンテナのログが表示されます。docker-composeを実行してログ出力を表示するにはどうすればよいですか?

しかし、docker-compose run appを使用すると、appのコンソール出力のみが表示されますが、appに依存するサービスはありません。他のサービスのログ出力はどのように表示されますか?

+2

'docker-compose logs -f service_name'を使うことができます –

+0

' docker-compose run'は、実行するたびに新しいコンテナを作成します。 – jazgot

+0

私のテストを実行するためにcircleciで 'docker-compose run'を実行していますので、新しいコンテナを作成しても問題ありません。主な問題は、依存するサービスからのログ出力が表示されないことです。 – sthomps

答えて

0
  1. デタッチモードでコンテナを開始するコマンドを使用します。 : ドッキングウィンドウ-構成コンテナを表示する
  2. -dアップ: 使用:ドッキングウィンドウのPS
  3. コンテナのログを表示するには:
    ドッカログ
26

ドッカログ

を参照してください。 Dockerをデタッチモードで起動し、すべてのコンテナのログに自分自身を添付することができます。ログを見ているだけなら、サービスを停止せずにログ出力から自分自身を切り離すことができます。

  1. 使用docker-compose up -d -fに対し、実行中のすべてのサービスのログに自分自身を添付するデタッチモード(-d)内のすべてのサービス(あなたがデタッチモードで任意のログが表示されません)
  2. 使用docker-compose logs -f -tを開始しますあなたのサービスをシャットダウンせずにログ出力から自分を切り離すこと
  3. Docker referenceを参照)を使用Ctrl + zまたはCtrl + cを使用すると、ログ出力を追跡し、-tオプションはあなたに素敵なタイムスタンプを与える意味

あなたは以下を追加出力をファイルに保存するには

  1. 使用docker logs -t -f <container-name>

保存出力

:あなたは、単一の容器に興味があるなら、あなたはdockerキーワードを使用することができますあなたのログコマンドに:

  1. docker-compose logs -f -t >> myDockerCompose.log
関連する問題