Di mana log daemon Docker?


344

Di mana log daemon Docker? Anehnya tidak dapat menemukan jawaban untuk ini melalui man, StackOverflow atau Docker Docs. Catatan Saya tidak meminta wadah buruh pelabuhan STDOUT, tetapi daemon log untuk pemecahan masalah komunikasi antara klien dan wadah melalui daemon / proxy.



Anda harus memilih jawaban sebagai yang terkemuka, karena tampaknya sudah beberapa tahun.
Light.G

Jawaban:


601

Tergantung pada OS Anda. Berikut adalah beberapa lokasi, dengan perintah untuk beberapa Sistem Operasi:

  • Ubuntu (lama menggunakan pemula) - /var/log/upstart/docker.log
  • Ubuntu (baru menggunakan systemd) - sudo journalctl -fu docker.service
  • AMI Amazon Linux - /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 Server - /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, sebagaimana disebutkan di sini .

Jika Anda menggunakan driver syslog dalam mode daemon, ini juga tempat log STDOUT Anda.
Ganesh Hegde

Saya percaya bahwa 1.13pindah lokasi OSX, tetapi saya tidak dapat menemukan dokumentasi tentang itu.
mkobit

1
Tautan dari @Thomasleveil tidak lagi berfungsi. Saya yakin tautan yang setara ada di sini docs.docker.com/engine/reference/commandline/dockerd
Adam Mazzarella

docker-machine : Gunakan docker-machine ssh $host tail -f /var/lib/boot2docker/log/docker.log. (docker-machine versi 0.16.1, build cce350d7)
Claudio

94

Jika OS Anda menggunakan systemdmaka Anda dapat melihat log daemon buruh pelabuhan dengan:

sudo journalctl -fu docker.service

Ini menunjukkan output dari kontainer buruh pelabuhan, juga ... apakah ada cara untuk menyaring yang keluar untuk menunjukkan hanya dockerdlog?
docwhat

3
@TheDoctorApa, itu mungkin karena Anda telah journaldmenetapkan sebagai driver logging Anda. Dari github.com/docker/docker/issues/23339#issuecomment-224275072 , Anda dapat memfilter barang kontainer dan hanya menyimpan log daemon dengan menggunakan journalctl -fu docker _TRANSPORT=stdout + OBJECT_EXE=docker(berfungsi dengan baik di sini)
Ciro Costa

22

Menggunakan CentOS7, log tersedia menggunakan perintah journalctl -u docker. Menjawab dengan jelas, karena jawaban @ sabin mungkin akurat untuk versi CentOS yang lebih lama tetapi tidak benar untuk saya.

systemd memiliki sistem logging sendiri yang disebut jurnal. Log untuk daemon buruh pelabuhan dapat dilihat menggunakan journalctl -u docker

Ref: https://docs.docker.com/engine/admin/configuring/


13

Di lingkungan saya (buruh pelabuhan untuk mac 17.07), tidak ada file log di ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/d‌​ocker.log

Sebaliknya saya dapat menemukan file log seperti di bawah ini.

  1. Masukkan ke dalam VM.

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

  2. Periksa file log

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


11

Untuk Docker Mac Native (tanpa Boot2Docker atau mesin docker, menjalankan instalasi Docker Anda tanpa VirtualBox tambahan - yang saya sarankan di atas yang lain), semua jawaban tidak bekerja untuk saya . Tapi dokumen Docker untungnya datang untuk menyelamatkan.

Jika Anda ingin melihat log daemon buruh pelabuhan di commandline, cukup ketik:

syslog -k Sender Docker

Atau dari Mac OS Sierra on, Anda dapat menggunakan Mac Console App yang baru dirancang (jangan bingung di sini dengan App "Terminal", ikon App Console terlihat sangat mirip - saya menemukannya dengan Launchpad di bawah "Lainnya. . "). Ada sebuah artikel di sini yang menjelaskan penggunaan umum Aplikasi Konsol Mac OS Sierra baru, yang belum membuatnya menjadi dokumen Docker resmi.

Di dalam Aplikasi Konsol cukup pilih system.log dan ketik Dockerke dalam bilah pencarian. Itu dia. Sekarang Anda akan melihat semua log terkait Docker.


9

Docker untuk Mac (Beta)

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


7

Untuk Mac dengan Docker Toolbox, ssh ke VM dengan terlebih dahulu docker-machine ssh %VM-NAME%lalu periksa/var/log/docker.log



3

Anda juga dapat melihat log dengan perintah ini:

docker service ps --no-trunc {serviceName}

-1

Tambahkan cara untuk menemukan buruh pelabuhan log daemon di windows:

mencoba

Saat menggunakan mesin buruh pelabuhan di Windows dan Mac OSX, daemon berjalan di dalam mesin virtual.

Pertama, temukan mesin Docker Anda yang aktif.

mesin docker ls Temukan nama mesin docker aktif di bawah kolom NAME di output.

Anda dapat menyalin file log daemon buruh pelabuhan ke direktori lokal Anda untuk analisis:

docker-machine scp default: /var/log/docker.log ./ Dimana default adalah nama mesin docker aktif Anda.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.