Dockerデーモンログはどこにありますか?奇妙なことに、man、StackOverflow、Docker Docsを介してこれに対する答えを見つけることができません。注意:dockerコンテナーSTDOUTではなく、デーモンとプロキシを介したクライアントとコンテナー間の通信をトラブルシューティングするためのデーモンログを求めています。
Dockerデーモンログはどこにありますか?奇妙なことに、man、StackOverflow、Docker Docsを介してこれに対する答えを見つけることができません。注意:dockerコンテナーSTDOUTではなく、デーモンとプロキシを介したクライアントとコンテナー間の通信をトラブルシューティングするためのデーモンログを求めています。
回答:
それはあなたのOSに依存します。以下に、いくつかのオペレーティングシステム用のコマンドを含むいくつかの場所を示します。
/var/log/upstart/docker.log
sudo journalctl -fu docker.service
/var/log/docker
/var/log/docker.log
/var/log/daemon.log
/var/log/daemon.log | grep docker
journalctl -u docker.service
journalctl -u docker.service
/var/log/messages | grep docker
journalctl -u docker.service
~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/docker.log
Get-EventLog -LogName Application -Source Docker -After (Get-Date).AddMinutes(-5) | Sort-Object Time
、ここで述べたように。1.13
OSXの場所が移動したと思いますが、そのドキュメントは見つかりません。
docker-machine ssh $host tail -f /var/lib/boot2docker/log/docker.log
ます。(docker-machineバージョン0.16.1、ビルドcce350d7)
OSが使用している場合はsystemd
、次のコマンドでdockerデーモンログを表示できます。
sudo journalctl -fu docker.service
dockerd
ログのみを表示するようにそれらを除外する方法はありますか?
journald
、ロギングドライバーとして設定したためです。github.com/docker/docker/issues/23339#issuecomment-224275072から、次のものを使用して、コンテナーをフィルターで除外し、デーモンログのみを保持できますjournalctl -fu docker _TRANSPORT=stdout + OBJECT_EXE=docker
(ここでは正常に機能します)
CentOS7を使用すると、コマンドを使用してログを利用できますjournalctl -u docker
。@sabinの答えは古いバージョンのCentOSでは正確かもしれませんが、私には当てはまらないため、明確に答えます。
systemdには、ジャーナルと呼ばれる独自のロギングシステムがあります。dockerデーモンのログは、journalctl -u dockerを使用して表示できます
私の環境(docker for mac 17.07)では、次の場所にログファイルがありません。 ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/docker.log
代わりに、以下のようにログファイルを見つけることができます。
VMに入ります。
$ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
または
$ screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
ログファイルを確認する
/ # tail -f /var/log/docker.log
用ドッカー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関連のログがすべて表示されます。
Mac OSXのDockerログの場所が次のように変更されました ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/console-ring
Docker Daemonのドキュメントを参照してください
Windowsでdockerデーモンログを検索する方法を追加します。
WindowsおよびMac OSXでDockerマシンを使用する場合、デーモンは仮想マシン内で実行されます。
まず、アクティブなDockerマシンを見つけます。
docker-machine ls出力のNAME列でアクティブなDockerマシンの名前を見つけます。
dockerデーモンのログファイルをローカルディレクトリにコピーして分析できます。
docker-machine scp default:/var/log/docker.log ./ここで、defaultは、Dockerマシンのアクティブな名前です。