6.1 Các chức năng chính của lệnh docker logs
Ghi log của container là một phần quan trọng trong việc quản lý và giám sát các ứng dụng Docker. Log cho phép theo dõi hành vi của container, chẩn đoán vấn đề và hiểu cách ứng dụng hoạt động bên trong container. Trong bài giảng này, chúng mình sẽ tìm hiểu chi tiết cách sử dụng lệnh docker logs
để ghi log container.
Các chức năng chính của lệnh docker logs
Lệnh docker logs
được dùng để lấy và xem log của các container. Nó cho phép:
- Xem đầu ra chuẩn (stdout) và đầu ra lỗi chuẩn (stderr) của container.
- Lọc và theo dõi log theo thời gian thực.
- Tìm kiếm và phân tích log để chẩn đoán vấn đề.
6.2 Sử dụng lệnh docker logs
1. Xem log của container
Để xem log của container, sử dụng lệnh:
docker logs <container_id_or_name>
Ví dụ:
docker logs my_container
Lệnh này sẽ hiển thị tất cả log của container my_container
.
2. Theo dõi log theo thời gian thực
Để theo dõi log theo thời gian thực, sử dụng flag -f
(hoặc --follow
):
docker logs -f <container_id_or_name>
Ví dụ:
docker logs -f my_container
Lệnh này sẽ hiển thị log mới khi chúng được tạo ra.
3. Giới hạn số dòng log hiển thị
Để giới hạn số dòng hiển thị khi sử dụng lệnh docker logs
, sử dụng flag --tail
:
docker logs --tail <number_of_lines> <container_id_or_name>
Ví dụ:
docker logs --tail 10 my_container
Lệnh này sẽ hiển thị 10 dòng cuối cùng trong log của container my_container
.
4. Hiển thị log bắt đầu từ một thời gian cụ thể
Để hiển thị log, bắt đầu từ một thời gian cụ thể, sử dụng flag --since
:
docker logs --since <timestamp> <container_id_or_name>
Ví dụ:
docker logs --since 2022-01-01T00:00:00 my_container
Lệnh này sẽ hiển thị log của container my_container
, bắt đầu từ ngày 1 tháng 1 năm 2022.
5. Hiển thị log cho đến một thời gian cụ thể
Để hiển thị log cho đến một thời gian cụ thể, sử dụng flag --until
:
docker logs --until <timestamp> <container_id_or_name>
Ví dụ:
docker logs --until 2022-01-02T00:00:00 my_container
Lệnh này sẽ hiển thị log của container my_container
cho đến ngày 2 tháng 1 năm 2022.
6.3 Ví dụ sử dụng docker logs
Ví dụ 1: Chẩn đoán lỗi ứng dụng
Nếu ứng dụng của bạn trong container đột ngột bị lỗi, bạn có thể dùng docker logs
để chẩn đoán nguyên nhân:
docker logs my_app_container
Xem log có thể giúp bạn hiểu điều gì đã xảy ra sai và tại sao ứng dụng bị lỗi.
Ví dụ 2: Theo dõi hoạt động của service
Để theo dõi hoạt động của web service theo thời gian thực, sử dụng flag -f
:
docker logs -f web_service_container
Lệnh này sẽ cho phép bạn xem tất cả các log mới đến từ web service.
Ví dụ 3: Phân tích log trong khoảng thời gian nhất định
Nếu bạn cần phân tích log trong khoảng thời gian cụ thể, sử dụng flags --since
và --until
:
docker logs --since "2023-07-01" --until "2023-07-02" my_app_container
Lệnh này sẽ xuất log của container my_app_container
trong ngày 1 tháng 7 năm 2023.
6.4 Cấu hình driver logging Docker
Docker hỗ trợ nhiều driver logging khác nhau có thể cài đặt cho container. Các driver logging chính bao gồm:
-
json-file
: Mặc định. Log được lưu trong file với định dạng JSON. syslog
: Log được gửi tới hệ thống nhật ký (syslog).journald
: Log được gửi tới hệ thống journald.-
gelf
: Log được gửi tới server hỗ trợ giao thức GELF (Graylog Extended Log Format). fluentd
: Log được gửi tới server Fluentd.
Cài đặt driver logging
Để cài đặt driver logging, sử dụng flag --log-driver
khi chạy container:
docker run --log-driver <driver_name> <container_image>
Ví dụ:
docker run --log-driver syslog my_app_image
Ví dụ này chạy container sử dụng driver logging syslog.
Cấu hình tham số logging
Bạn có thể chỉ định tham số logging bằng flag --log-opt
:
docker run --log-driver syslog --log-opt syslog-address=udp://localhost:514 my_app_image
GO TO FULL VERSION