+3

Lệnh docker logs --tail 50 là gì? "Kính lúp" soi lỗi thời gian thực cho DevOps và Backend Developer

Chào anh em!

Trong quá trình vận hành các hệ thống Backend được đóng gói bằng Docker, việc kiểm tra nhật ký hoạt động (Logs) của Container để tìm nguyên nhân khi ứng dụng sập hoặc báo lỗi là công việc diễn ra hàng ngày.

Tuy nhiên, nếu một Container đã chạy lâu ngày, tập tin log của nó có thể phình to lên đến hàng gigabyte. Nếu bạn gõ trống câu lệnh docker logs <container_id>, toàn bộ lịch sử từ thuở khai thiên lập địa sẽ cuộn liên tục tràn màn hình khiến máy tính đơ cứng. Để giải quyết sự bất tiện đó, cứu cánh nhanh gọn nhất chính là tham số --tail. Hôm nay, hãy cùng mổ xẻ xem lệnh docker logs --tail 50 hoạt động ra sao nhé!

1. docker logs --tail 50 thực chất là gì?

Hiểu một cách đơn giản, đây là câu lệnh dùng để trích xuất và hiển thị 50 dòng log mới nhất (gần đây nhất) được ghi lại từ bên trong một Docker Container đang chạy hoặc đã dừng.

Cấu trúc chuẩn của câu lệnh:

docker logs --tail 50 <container_name_or_id>
  • docker logs: Lệnh gốc của Docker dùng để xem luồng xuất chuẩn (stdout/stderr) của container.
  • --tail 50: Tham số giới hạn số lượng dòng hiển thị, tính từ dòng mới nhất ngược về quá khứ (chỉ lấy đúng 50 dòng cuối cùng).

2. Tại sao lệnh này là "vũ khí bất ly thân" của lập trình viên?

A. Tiết kiệm thời gian và tài nguyên tuyệt đối

Thay vì ngập ngụa giữa hàng triệu dòng log cũ không liên quan, việc giới hạn --tail 50 giúp bạn ngay lập tức tóm gọn được bức tranh hiện trạng của ứng dụng trong khoảnh khắc gần nhất (ví dụ: lỗi kết nối Database vừa xảy ra cách đây vài giây, hoặc exception của request gần nhất).

B. Kết hợp thần thánh với chế độ theo dõi thời gian thực (-f)

Trong quá trình test API hoặc thực hiện debug, bạn thường muốn vừa xem log cũ vừa chờ xem các log mới tiếp theo đổ về. Lúc này, hãy ghép nối --tail với tham số -f (follow):

docker logs --tail 50 -f my_laravel_app
  • Tác dụng: Hệ thống sẽ ngay lập tức in ra 50 dòng log gần nhất để bạn nắm tình hình, sau đó giữ nguyên kết nối để hiển thị trực tiếp bất kỳ dòng log nào phát sinh tiếp theo ngay khi người dùng gửi request vào hệ thống.

3. Các biến thể cực kỳ hữu ích khác

Bên cạnh con số 50, bạn hoàn toàn có thể tùy biến tham số --tail tùy theo nhu cầu thực tế:

  • Xem 100 dòng mới nhất: docker logs --tail 100 <container_id>
  • Xem toàn bộ log nhưng kèm theo mốc thời gian cụ thể của từng dòng (cực kỳ hữu ích để trace độ trễ):
docker logs --timestamps --tail 50 <container_id>

Lời kết

docker logs --tail 50 là một trong những câu lệnh vỡ lòng nhưng cực kỳ quyền năng trong bộ công cụ của một Backend Developer hay DevOps Engineer. Nắm vững và sử dụng thuần thục câu lệnh này sẽ giúp bạn xử lý sự cố nhanh như chớp mà không bị ngợp giữa biển dữ liệu log!


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí