Nhật ký Docker daemon ở đâu?


344

Nhật ký Docker daemon ở đâu? Điều kỳ lạ là không thể tìm thấy câu trả lời cho vấn đề này thông qua con người, StackOverflow hoặc Docker Docs. Lưu ý Tôi không yêu cầu bộ chứa docker STDOUT, nhưng nhật ký trình nền để xử lý sự cố liên lạc giữa máy khách và vùng chứa thông qua daemon / proxy.


6
Danh sách chính thức có tại đây: docs.docker.com/config/daemon/#read-the-logs
wvducky

Bạn nên chọn một câu trả lời là câu trả lời hàng đầu, vì dường như đã vài năm rồi.
Light.G

Câu trả lời:


601

Nó phụ thuộc vào hệ điều hành của bạn. Dưới đây là một vài vị trí, với các lệnh cho một số Hệ điều hành:

  • Ubuntu (cũ sử dụng mới bắt đầu) - /var/log/upstart/docker.log
  • Ubuntu (mới sử dụng 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
  • Máy chủ Linux doanh nghiệp Red Hat - /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, như đã đề cập ở đây .

Nếu bạn sử dụng trình điều khiển nhật ký hệ thống trong chế độ trình nền, đây là nơi ghi nhật ký STDOUT của bạn.
Ganesh Hegde

Tôi tin rằng 1.13đã di chuyển vị trí OSX, nhưng tôi không thể tìm thấy bất kỳ tài liệu nào về điều đó.
mkobit

1
Liên kết từ @Thomasleveil không còn hoạt động. Tôi tin rằng liên kết tương đương sẽ có ở đây docs.docker.com/engine/reference/commandline/dockerd
Adam Mazzarella

docker-máy : Sử dụng docker-machine ssh $host tail -f /var/lib/boot2docker/log/docker.log. (docker-machine phiên bản 0.16.1, bản dựng cce350d7)
Claudio

94

Nếu hệ điều hành của bạn đang sử dụng systemdthì bạn có thể xem nhật ký trình nền của docker với:

sudo journalctl -fu docker.service

Điều này cho thấy đầu ra của các container docker, ... có cách nào để lọc chúng ra để chỉ hiển thị các dockerdbản ghi không?
docwhat

3
@TheDoctorWhat, đó có thể là vì bạn đã journaldđặt làm trình điều khiển đăng nhập của mình. Từ github.com/docker/docker/issues/23339#issuecomment-224275072 , bạn có thể lọc các công cụ chứa ra và chỉ giữ nhật ký daemon bằng cách sử dụng journalctl -fu docker _TRANSPORT=stdout + OBJECT_EXE=docker(hoạt động tốt tại đây)
Ciro Costa

22

Sử dụng CentOS7, nhật ký có sẵn bằng cách sử dụng lệnh journalctl -u docker. Trả lời rõ ràng, vì câu trả lời của @ sabin có thể chính xác cho các phiên bản cũ hơn của CentOS nhưng không đúng với tôi.

systemd có hệ thống đăng nhập riêng của nó được gọi là tạp chí. Nhật ký cho trình nền của docker có thể được xem bằng cách sử dụng docker của nhật ký

Tham chiếu: https://docs.docker.com/engine/admin/configuring/


13

Trong môi trường của tôi (docker cho mac 17,07), không có tệp nhật ký tại ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/d‌​ocker.log

Thay vào đó tôi có thể tìm thấy tệp nhật ký như dưới đây.

  1. Nhập vào VM.

    $ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
    hoặc là
    $ screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

  2. Kiểm tra tệp nhật ký

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


11

Đối với Docker Mac Native (không có Boot2Docker hoặc docker-machine, chạy cài đặt Docker của bạn mà không cần thêm VirtualBox - mà tôi muốn giới thiệu cho những người khác), tất cả các câu trả lời đều không phù hợp với tôi . Nhưng các tài liệu Docker may mắn đã đến để giải cứu.

Nếu bạn muốn xem nhật ký trình nền của docker trên dòng lệnh, chỉ cần gõ:

syslog -k Sender Docker

Ngoài ra, từ Mac OS Sierra trở đi, bạn có thể sử dụng Ứng dụng Mac Console được thiết kế mới (không bị nhầm lẫn ở đây với Ứng dụng "Terminal", biểu tượng Bảng điều khiển ứng dụng trông khá giống nhau - Tôi đã tìm thấy nó với Launchpad bên dưới "Khác. . "). Có một bài viết ở đây mô tả cách sử dụng chung của Ứng dụng Mac OS Sierra Console mới, đã không đưa nó vào tài liệu Docker chính thức.

Trong Ứng dụng Console, chỉ cần chọn system.log và nhập Dockervào thanh tìm kiếm. Đó là nó. Bây giờ bạn sẽ thấy tất cả các bản ghi liên quan đến Docker.


9

Docker cho Mac (Beta)

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


7

Đối với Mac với Docker Toolbox, trước tiên hãy ssh vào VM docker-machine ssh %VM-NAME%và sau đó kiểm tra/var/log/docker.log



3

Ngoài ra, bạn có thể xem nhật ký bằng lệnh này:

docker service ps --no-trunc {serviceName}

-1

Thêm cách để tìm docker daemon đăng nhập trong windows:

thử

Khi sử dụng máy docker trên Windows và Mac OSX, daemon chạy bên trong một máy ảo.

Đầu tiên, tìm máy Docker hoạt động của bạn.

docker-machine ls Tìm tên của máy docker đang hoạt động dưới cột NAME trong đầu ra.

Bạn có thể sao chép tệp nhật ký trình nền của docker vào thư mục cục bộ của mình để phân tích:

docker-machine scp default: /var/log/docker.log ./ Trong đó mặc định là tên hoạt động của máy docker của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.