2015-06-21 201 views
209

Docker守護進程日誌在哪裏?奇怪的是無法通過man,StackOverflow或Docker Docs找到答案。注意我不是要求docker容器STDOUT,而是守護進程日誌,用於通過守護進程/代理來解決客戶端和容器之間的通信問題。Docker守護進程日誌在哪裏?

回答

375

這取決於您的操作系統。這裏有幾個地點,用命令的幾個操作系統:

  • 的Ubuntu(舊使用新貴) - /var/log/upstart/docker.log
  • 的Ubuntu(新使用systemd) - sudo journalctl -fu docker.service
  • 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
  • 紅帽企業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,提到here
+14

人值得一提的是'-D' docker選項來激活調試模式。請參閱https://docs.docker.com/reference/commandline/cli/#daemon – Thomasleveil

+0

如果您在守護進程模式下使用syslog驅動程序,則這也是您的STDOUT日誌所在的位置。 –

+5

在運行Elastic Container Service的Amazon Linux實例上,它的/ var/log/docker – grant

56

如果你的操作系統是使用systemd,那麼你可以查看碼頭工人守護程序日誌有:

sudo journalctl -fu docker.service 
+0

這也顯示了碼頭集裝箱的輸出......是否有一種方法可以過濾掉只顯示'dockerd'日誌? –

+2

@TheDoctorWhat,這可能是因爲你有'journald'設置爲你的日誌記錄驅動程序。從https://github.com/docker/docker/issues/23339#issuecomment-224275072,你可以通過使用'journalctl -fu docker _TRANSPORT = stdout + OBJECT_EXE = docker'來過濾容器內容並保留守護進程日誌這裏罰款) –

13

使用CentOS7,日誌使用命令journalctl -u docker可用。清楚地回答,因爲@ sabin的答案可能對舊版本的CentOS是準確的,但對我來說並不正確。

systemd有自己的日誌系統稱爲日誌。對於泊塢窗守護進程的日誌可以使用journalctl -u泊塢窗中查看

編號:https://docs.docker.com/engine/admin/configuring/

6

對於Mac與碼頭工人工具箱,SSH進入VM先用docker-machine ssh %VM-NAME%然後檢查/var/log/docker.log

8

泊塢窗的MAC(測試版)

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

9

對於泊塢窗的Mac原生(沒有Boot2Docker或docker-machine,無需額外的VirtualBox運行你的Docker安裝 - 我會推薦其他的),所有的答案對我來說都沒有效果。但幸好Docker docs來救援。

如果你想看到在命令行泊塢窗守護程序日誌,只需鍵入:

syslog -k Sender Docker 

或者從Mac OS塞拉利昂,您可以使用全新設計的Mac控制檯應用程序(鴕鳥政策感到困惑這裏的應用程序「終端」,控制檯應用程序的圖標看起來非常相似 - 我發現它與「其他」下的Launchpad。)。有一個article here,它描述了新的Mac OS Sierra控制檯應用程序的一般用法,它並沒有進入正式的Docker文檔。

在控制檯應用程序中,只需選擇system.log並鍵入Docker進入搜索欄。而已。現在你應該看到所有的Docker相關日誌。

-2

添加方式找到碼頭工人守護程序日誌中的窗口:

try

在Windows和Mac OSX使用泊塢窗機,守護程序在虛擬機內運行。

首先,找到您的活動Docker機器。

碼頭機ls 在輸出中的NAME列下找到活動碼頭機的名稱。

您可以將泊塢窗守護程序日誌文件複製到本地目錄分析:

泊塢窗機SCP默認:/var/log/docker.log ./ 如果默認激活你的泊塢窗機的名稱。

5

在我的環境(碼頭工人的Mac 17.07),有在~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/d‌​ocker.log

沒有日誌文件,而不是我能找到的日誌文件,如下。

  1. 進入虛擬機。

    $ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty

  2. 檢查日誌文件

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

2

泊塢窗日誌的位置已更改爲Mac OSX到~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/console-ring

Docker Daemon Documentation

相關問題