2016-04-16 16 views
14

終了したコンテナのログが表示される方法はありますか?終了したコンテナのログを確認する

終了コンテナのコンテナIDはdocker ps -aを使用して取得できますが、実行中に何が起こったのかを知りたいと思います。

+0

可能な重複の下にあるよう

sudoは、必要である[コンテナからのログをログファイルです?](https://stackoverflow.com/questions/33017329/log-from-a-containerでログファイルがある場所) – icyerasor

答えて

18

docker logsを使用してください。また、停止し、容器のために働くとコンテナのメインプロセスの全体STDOUTおよびSTDERRストリームをキャプチャ:最後の50行のための

$ docker run -d --name test debian echo "Hello World" 
02a279c37d5533ecde76976d7f9d1ca986b5e3ec03fac31a38e3dbed5ea65def 

$ docker ps -a 
CONTAINER ID IMAGE  COMMAND  CREATED    STATUS      PORTS    NAMES 
49daa9d41a24 debian "echo test" 2 minutes ago  Exited (0) 2 minutes ago      test 

$ docker logs -t test 
2016-04-16T15:47:58.988748693Z Hello World 
4

docker logs <container id> | tail -n 50 - 便利なあなたのコンテナが長時間実行されているとき。

+1

'docker logs --tail = 50'はトリックを行います – Whitefret

0

は、直接ファイルの末尾までスクロール以内で終了したコンテナのログファイルを表示するには、私が使用します。./viewLogs.sh CONTAINERNAME

この方法はあり

docker inspect $1 | grep 'LogPath' | sed -n "s/^.*\(\/var.*\)\",$/\1/p" | xargs sudo less +G 

実行としてdocker logsに基づくアプローチを利用して、ファイルをストリーミングではなく直接開くことができます。 LOGPATH /ファイルは通常のroot所有

関連する問題