Dockerデーモンログはどこにありますか?


344

Dockerデーモンログはどこにありますか?奇妙なことに、man、StackOverflow、Docker Docsを介してこれに対する答えを見つけることができません。注意:dockerコンテナーSTDOUTではなく、デーモンとプロキシを介したクライアントとコンテナー間の通信をトラブルシューティングするためのデーモンログを求めています。


6
公式リストはこちら:docs.docker.com/config/daemon/#read-the-logs
wisbucky

回答はすでに数年前のようなので、主な回答として回答を選択する必要があります。
Light.G

回答:


601

それはあなたのOSに依存します。以下に、いくつかのオペレーティングシステム用のコマンドを含むいくつかの場所を示します。

  • Ubuntu(upstartを使用して古い)- /var/log/upstart/docker.log
  • Ubuntu(systemdを使用して新規)- sudo journalctl -fu docker.service
  • Amazon Linux AMI- /var/log/docker
  • Boot2Docker- /var/log/docker.log
  • Debian GNU / Linux- /var/log/daemon.log
  • CentOS- /var/log/daemon.log | grep docker
  • CoreOS- journalctl -u docker.service
  • Fedora- journalctl -u docker.service
  • Red Hat Enterprise Linuxサーバー- /var/log/messages | grep docker
  • OpenSuSE- journalctl -u docker.service
  • OSX- ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/d‌​ocker.log
  • Windows- Get-EventLog -LogName Application -Source Docker -After (Get-Date).AddMinutes(-5) | Sort-Object Timeここで述べたよう

デーモンモードでsyslogドライバーを使用する場合は、ここにSTDOUTログも保存されます。
Ganesh Hegde、2016

1.13OSXの場所が移動したと思いますが、そのドキュメントは見つかりません。
mkobit 2017年

1
@Thomasleveilからのリンクは機能していません。同等のリンクはここにあると思い
Adam Mazzarella

docker-machine:を使用しdocker-machine ssh $host tail -f /var/lib/boot2docker/log/docker.logます。(docker-machineバージョン0.16.1、ビルドcce350d7)
Claudio

94

OSが使用している場合はsystemd、次のコマンドでdockerデーモンログを表示できます。

sudo journalctl -fu docker.service

これは、Dockerコンテナの出力も示しています... dockerdログのみを表示するようにそれらを除外する方法はありますか?
docwhat

3
@TheDoctorWhat、それはおそらくjournald、ロギングドライバーとして設定したためです。github.com/docker/docker/issues/23339#issuecomment-224275072から、次のものを使用して、コンテナーをフィルターで除外し、デーモンログのみを保持できますjournalctl -fu docker _TRANSPORT=stdout + OBJECT_EXE=docker(ここでは正常に機能します)
Ciro Costa

22

CentOS7を使用すると、コマンドを使用してログを利用できますjournalctl -u docker。@sabinの答えは古いバージョンのCentOSでは正確かもしれませんが、私には当てはまらないため、明確に答えます。

systemdには、ジャーナルと呼ばれる独自のロギングシステムがあります。dockerデーモンのログは、journalctl -u dockerを使用して表示できます

参照:https : //docs.docker.com/engine/admin/configuring/


13

私の環境(docker for mac 17.07)では、次の場所にログファイルがありません。 ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/d‌​ocker.log

代わりに、以下のようにログファイルを見つけることができます。

  1. VMに入ります。

    $ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
    または
    $ screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

  2. ログファイルを確認する

    / # tail -f /var/log/docker.log


11

ドッカーMacのネイティブ(余分にVirtualBoxせずにドッカーインストールを実行しているBoot2Dockerまたはドッキングウィンドウマシンなし、 -私は他の人の上に推薦する)、すべての答えdidn't仕事私のために。しかし、幸運にもDockerのドキュメントが助けになりました。

コマンドラインでdockerデーモンのログを表示するには、次のように入力します。

syslog -k Sender Docker

または、Mac OS Sierra以降では、新しく設計されたMacコンソールアプリを使用できます(ここでは、アプリ「ターミナル」と混同しないでください。コンソールアプリのアイコンは非常によく似ています。「その他」の下のランチパッドで見つけました。 。」)。新しいMac OS Sierra Console Appの一般的な使用法を説明する記事がここにありますが、公式のDockerドキュメントにはまだ含まれていません。

コンソールアプリ内でsystem.logを選択Dockerし、検索バーに入力します。それでおしまい。これで、Docker関連のログがすべて表示されます。


9

Mac用Docker(ベータ)

~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/d‌​ocker.log


7

MacでDocker Toolboxを使用している場合は、最初にを使用してVMにsshしてdocker-machine ssh %VM-NAME%から、/var/log/docker.log




-1

Windowsでdockerデーモンログを検索する方法を追加します。

試す

WindowsおよびMac OSXでDockerマシンを使用する場合、デーモンは仮想マシン内で実行されます。

まず、アクティブなDockerマシンを見つけます。

docker-machine ls出力のNAME列でアクティブなDockerマシンの名前を見つけます。

dockerデーモンのログファイルをローカルディレクトリにコピーして分析できます。

docker-machine scp default:/var/log/docker.log ./ここで、defaultは、Dockerマシンのアクティブな名前です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.