giảm giá 50% tất cả các kế hoạch, thời gian có hạn. Bắt đầu lúc $2.48/mo
còn 9 phút
Công cụ dành cho nhà phát triển & DevOps

Hướng dẫn dễ dàng về Nhật ký soạn thảo Docker: Cách kiểm tra và quản lý

Ada Lovegood By Ada Lovegood đọc 9 phút Cập nhật ngày 23 tháng 2 năm 2025
nhật ký docker

Bạn có muốn biết ứng dụng Docker đang làm gì ở hậu trường không? Hãy cùng tìm hiểu thêm về cửa sổ bí mật, được gọi là nhật ký, trong vùng chứa của bạn để hiển thị mọi chuyển động mà chúng thực hiện. Nhật ký cực kỳ hữu ích trong việc khắc phục sự cố. Nhưng trước khi bắt đầu, chúng ta hãy xem nhanh Docker và Docker Compose là gì.

Docker cho phép bạn đóng gói các ứng dụng của mình vào các thùng chứa nhỏ và chạy chúng trên hầu hết các hệ điều hành mà không có bất kỳ sự phụ thuộc nào. Nó giống như đặt ứng dụng của bạn vào các hộp nhỏ gọi là Vùng chứa, có thể chạy theo cùng một cách ở mọi nơi. Biết về container là điều kiện tiên quyết quan trọng khi tìm hiểu về Docker soạn thảo. Vì vậy, tôi khuyến khích bạn trước tiên hãy đọc blog của chúng tôi trên lợi ích của việc container hóa.

Docker Compose đi kèm với Docker và đơn giản hóa việc phát triển nhiều ứng dụng được đóng gói bằng cách liên kết các dịch vụ, mạng và bộ lưu trữ của chúng. Nhật ký vùng chứa Docker và ghi nhật ký Docker Compose giúp nhà phát triển biết được chức năng của từng vùng chứa.

Vậy bạn có tò mò về Docker Compose Logs không? Bạn đang ở đúng nơi. Blog này sẽ giải thích những điều cơ bản về nhật ký Docker Compose và trình bày các chi tiết nâng cao hơn. Tìm hiểu cách tận dụng tối đa Docker Compose cho dự án của bạn.

Tầm quan trọng của Nhật ký soạn thảo Docker

Hãy tưởng tượng một nhà phát triển khởi chạy một ứng dụng có Docker nhưng bỏ qua việc thiết lập nhật ký Docker. Lúc đầu, mọi thứ có vẻ ổn. Nhưng ngay sau đó, người dùng sẽ phát hiện ra lỗi và ứng dụng sẽ chậm lại. Nếu không có nhật ký Docker, nhà phát triển không thể biết được điều gì đã xảy ra bên trong vùng chứa Docker. Nhật ký Docker Compose giống như một bản ghi chi tiết về các vùng chứa này. Họ ghi lại mọi chi tiết về những gì xảy ra, điều này rất quan trọng cho việc tìm kiếm và khắc phục sự cố sau này.

Với tư cách là Nhà phát triển hoặc Quản trị viên hệ thống, bạn phải hiểu điều gì xảy ra bên trong và giữa các ứng dụng đa chuỗi. Đây là nơi nhật ký Docker Compose hoạt động như một công cụ tiện dụng. Vậy tại sao những nhật ký này lại cần thiết?

  • Khắc phục sự cố và gỡ lỗi

Kiểm tra nhật ký docker khi ứng dụng không chạy chính xác hoặc gặp lỗi. Nhật ký Docker là tài nguyên đầu tiên bạn có thể xem xét để theo dõi vấn đề. Bằng cách kiểm tra nhật ký docker, nhà phát triển có thể xác định nguyên nhân cốt lõi và nguồn gốc của sự cố, cho dù đó là lỗi trong mã, cấu hình sai hay vấn đề về tài nguyên.

  • Giám sát tình trạng ứng dụng

Việc thường xuyên theo dõi nhật ký ứng dụng sẽ giúp hiểu được tình trạng chung của các dịch vụ. Nhật ký có thể tiết lộ các dấu hiệu cảnh báo sớm, chẳng hạn như lỗi lặp lại và phản hồi chậm. Việc quan sát sớm những mô hình này có thể ngăn ngừa các vấn đề tiềm ẩn trong tương lai.

  • Kiểm toán và tuân thủ

Đối với các ứng dụng cần tuân theo các tiêu chuẩn cụ thể, nhật ký docker là bằng chứng đầu tiên cho thấy ứng dụng có tuân thủ các nguyên tắc hay không. Những nhật ký này cũng đóng một vai trò thiết yếu trong việc giám sát các hoạt động được ủy quyền hoặc trái phép.

  • Tối ưu hóa

Nhật ký là tài nguyên có giá trị để tối ưu hóa phần mềm bằng cách cung cấp dữ liệu hiệu suất. Ví dụ: nhà phát triển có thể xác định các truy vấn chạy chậm, đường dẫn mã không hiệu quả hoặc tài nguyên không được sử dụng đúng mức.

Tạo công thức Docker: Triển khai máy chủ web

Trong phần này, chúng ta sẽ cùng nhau hướng dẫn cách tạo công thức Docker. Trước tiên, chúng ta cần xây dựng thứ gì đó để bắt đầu hành trình của mình với nhật ký Docker Compose. Hãy triển khai một máy chủ web cho mục đích này. Để tạo Dockerfile, chỉ cần chạy tập tin Docker nano vào thư mục mong muốn trên VPS của bạn với nội dung sau rồi lưu lại:

 

FROM nginx:alpine
RUN rm /usr/share/nginx/html/index.html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Vậy mỗi dòng mã này có tác dụng gì?

  • Chúng tôi bắt đầu với một đế nhẹ, nginx:alpine.
  • Tiếp theo, chúng tôi xóa trang chào mừng mặc định của Nginx.
  • Sau đó, chúng tôi đảm bảo rằng máy chủ web đang lắng nghe trên cổng 80.
  • Cuối cùng, chúng tôi chạy máy chủ Nginx với CMD.

Bây giờ Dockerfile của chúng ta đã sẵn sàng, chúng ta sẽ chuyển sang bước tiếp theo, đó là tạo tệp Docker Compose. Đây là cấu trúc của docker-compose.yml tài liệu:

version: '3.8'
services:
web:
build: .
ports:
- "8080:80"
volumes:
- ./index.html:/usr/share/nginx/html/index.html

Hãy chia nhỏ nó ra để hiểu đầy đủ từng phần:

  • Chúng tôi đang sử dụng phiên bản 3.8.
  • Ở dòng tiếp theo, chúng tôi đặt tên cho dịch vụ của mình là “mạng lưới“.
  • Sau đó, chúng tôi hướng dẫn Docker xây dựng máy chủ web của chúng tôi từ thư mục hiện tại.
  • Chúng tôi liên kết cổng 8080 trên máy chủ của mình với cổng 80 trong vùng chứa để cho phép máy chủ web của chúng tôi thiết lập kết nối.
  • Cuối cùng, bản đồ cấu hình khối index.html từ đĩa chủ đến vùng chứa. Sau đó, bạn có thể tạo một index.html tập tin có bất kỳ nội dung nào bạn muốn và đặt nó ở nơi Dockerfiledocker-compose.yml tập tin tồn tại.

Bây giờ là lúc chạy vùng chứa Docker của chúng tôi với Docker Compose. Đơn giản là chúng ta chạy docker-soạn lên.

chạy vùng chứa Docker với Docker Compose

Một khi bạn chạy docker-soạn lên command, Docker sẽ tải xuống các image cần thiết từ internet và định cấu hình chúng theo hướng dẫn trong tệp cấu hình của chúng tôi.

Để kiểm tra xem máy chủ web của chúng tôi có hoạt động hay không, hãy mở trình duyệt web, nhập địa chỉ IP VPS của bạn và yêu cầu quyền truy cập vào cổng 8080.

trang web được neo đậu

Là một lưu ý phụ, bạn có thể sử dụng docker-soạn lên -d để chạy container ở chế độ nền.

Truy cập nhật ký bằng Docker Compose

Bây giờ, máy chủ web của chúng tôi đã sẵn sàng, hoạt động và hoạt động. Nó đã tạo nhật ký và lưu trữ thông tin này để sử dụng sau. Việc truy cập nhật ký soạn thảo docker của bạn là điều cần thiết để khắc phục sự cố và giám sát. Nhưng làm thế nào chúng ta có thể đọc được những nhật ký này? Đây là nơi nhật ký soạn thảo docker có ích. Đảm bảo rằng bạn đang ở trong thư mục chứa cấu hình và chạy lệnh đó.

Truy cập nhật ký bằng Docker Compose

Đôi khi, bạn có thể muốn xem phiên bản trực tiếp của nhật ký khi chúng được tạo. Chỉ cần thêm -f vào cuối lệnh trước và chạy nhật ký soạn thảo docker -f.

Truy cập nhật ký bằng Docker Compose

Một số ứng dụng dựa trên Docker có thể không cung cấp cho bạn dấu thời gian trong nhật ký của chúng. Vì vậy, bạn có thể sử dụng nhật ký soạn thảo docker -t để thêm thời gian được ghi cho mỗi dòng của nhật ký.

Truy cập nhật ký bằng Docker Compose

Nhật ký Docker cũng có thể hiển thị các mục gần đây nhất. Để đạt được điều này, hãy sử dụng nhật ký docker-compose –tail 10 để xem 10 mục nhật ký mới nhất. Docker soạn đuôi nhật ký và tương tự docker logs tail đặc biệt hữu ích khi bạn muốn kiểm tra nhanh hoạt động gần đây mà không cần cuộn qua toàn bộ lịch sử nhật ký.

truy cập nhật ký bằng docker soạn

Mục đích chính của việc sử dụng Docker Compose là tạo các ứng dụng nhiều vùng chứa. Do đó, bạn có thể cần đọc nhật ký cụ thể cho dịch vụ mong muốn. Để làm như vậy, hãy sử dụng nhật ký soạn thảo docker -f DỊCH VỤ, nhớ thay thế DỊCH VỤ với tên dịch vụ thực tế của bạn.

truy cập nhật ký bằng docker

Ghi nhật ký Docker

Hệ sinh thái Docker có thể trở nên phức tạp hơn đối với các ứng dụng hội tụ, đặc biệt là trong môi trường lớn. Như chúng ta đã biết, mỗi vùng chứa sẽ tạo ra nhật ký. Do đó, một cơ chế được gọi là Trình điều khiển ghi nhật ký chịu trách nhiệm nhận, phân phối và lưu trữ nhật ký. Theo mặc định, Docker sử dụng các tệp JSON cho Trình điều khiển ghi nhật ký, nhưng nó cũng hỗ trợ nhiều trình điều khiển khác, mỗi trình điều khiển đều có ưu và nhược điểm.

Mọi người đều đồng ý rằng nhật ký rất quan trọng trong nhiều lĩnh vực khác nhau, bao gồm khắc phục sự cố và nâng cao hiệu suất hệ thống. Dưới đây, chúng tôi sẽ đề cập đến hai khía cạnh chính của việc sử dụng nhật ký vùng chứa:

  • Giám sát: Mục đích chính của nhật ký là giám sát. Chúng thường tiết lộ tình trạng tổng thể của các ứng dụng được chứa trong vùng chứa của chúng tôi.
  • Khắc phục sự cố: Trong trường hợp xảy ra sự cố, nhật ký sẽ giúp chúng tôi phát hiện các trục trặc của ứng dụng.

Vì nhật ký docker và nhật ký soạn thảo docker được tạo liên tục nên chúng có thể lấp đầy toàn bộ bộ nhớ VPS. Do đó, chúng ta cần một chiến lược để quản lý dung lượng ổ đĩa được gọi là Chính sách xoay vòng nhật ký. Để tạo và sử dụng chính sách này, hãy quay lại trang docker-compose.yml tập tin và mở nó. Sau đó, thêm phần ghi nhật ký với cấu hình bên dưới:

version: '3.8'
services:
web:
build: .
ports:
- "8080:80"
volumes:
- ./index.htm:/usr/share/nginx/html/index.htm
logging:
driver: json-file
options:
max-size: "200k"
max-file: "10"

Bạn có thể liên tục điều chỉnh kích thước tối đatập tin tối đa theo nhu cầu của bạn.

Mô hình phân phối nhật ký Docker

Các kỹ sư có thể chọn mô hình ghi nhật ký khác trong các môi trường nâng cao hơn trình điều khiển JSON mặc định, chẳng hạn như Syslog, Fluentd và các mô hình khác. Tuy nhiên, điều quan trọng cần nhớ là trình điều khiển tệp JSON phù hợp với hầu hết các trường hợp ghi nhật ký và có thể không cần phải đi chệch khỏi chế độ mặc định.

Tùy thuộc vào kiến ​​trúc ứng dụng hoặc yêu cầu tổ chức của bạn, bạn có thể buộc phải sử dụng các giải pháp ghi nhật ký trung tâm được gọi là Trình tổng hợp nhật ký. Những dịch vụ này, bao gồm Elaticsearch, Logstash, Kibana, v.v., được thiết kế để nhận nhật ký từ nhiều nguồn khác nhau và hợp nhất, lưu trữ cũng như phân tích chúng ở một vị trí trung tâm duy nhất.

Ngược lại, bạn nên lưu trữ nhật ký của mình bằng các giải pháp lưu trữ tiết kiệm chi phí hơn. Hãy xem xét trường hợp VPS của bạn sử dụng bộ nhớ tốc độ cao và đắt tiền; việc sử dụng các tài nguyên cao cấp như vậy để lưu trữ nhật ký mà bạn có thể chỉ cần để tham khảo trong tương lai có thể không tiết kiệm.

Có nhiều mô hình ghi nhật ký, mỗi mô hình đều có ưu điểm và nhược điểm. Đánh giá từng mô hình một cách cẩn thận và chọn một mô hình dựa trên nhu cầu cụ thể của bạn là điều cần thiết.

Dịch vụ lưu trữ VPS Linux

Hãy sở hữu cho mình một VPS Linux cao cấp hoặc tiết kiệm để lưu trữ trang web hoặc máy tính từ xa của bạn với mức giá rẻ nhất hiện có. VPS Chạy trên Linux KVM để tăng hiệu quả và hoạt động trên phần cứng mạnh mẽ với bộ lưu trữ SSD NVMe để tăng tốc độ.

Đọc thêm

Phần kết luận

Hiểu nhật ký Docker Compose là chìa khóa. Chúng giúp quản lý và gỡ lỗi tốt các ứng dụng Docker của bạn. Học cách truy cập và giám sát các nhật ký này sẽ cải thiện khả năng giải quyết vấn đề cũng như tăng hiệu suất và tính bảo mật cho ứng dụng của bạn. Dù đang phát triển hay quản trị hệ thống thì việc sử dụng nhật ký Docker Compose là điều cần thiết. Họ đảm bảo việc quản lý vùng chứa của bạn có hiệu quả.

Câu hỏi thường gặp

Làm cách nào tôi có thể lọc nhật ký Docker Compose theo thời gian?

Docker Compose không cung cấp phương pháp trực tiếp để lọc nhật ký theo thời gian. Tuy nhiên, bạn có thể lọc nhật ký bằng cách chuyển chúng qua grep để khớp mẫu. Chẳng hạn, bạn có thể sử dụng: docker-compose log | grep “2023-04-06”, thay thế “2023-04-06” bằng mẫu ngày hoặc giờ cụ thể mà bạn đang tìm kiếm.

Làm cách nào để dừng các vùng chứa bắt đầu bằng Docker Compose?

Điều hướng đến thư mục chứa tệp docker-compose.yml và chạy lệnh docker-compose down.

Làm cách nào để xóa tệp nhật ký theo cách thủ công?

Thay vì định cấu hình xoay vòng nhật ký trong tệp docker-compose.yml, bạn có thể xóa thủ công các tệp nhật ký JSON của Docker khỏi /var/lib/docker/containers/<container_id>/. Trước khi làm như vậy, bạn nên xác định ID vùng chứa Docker bằng docker ps -a.

Bạn có thể theo dõi nhật ký Docker không? 

Vâng, bạn có thể. Để làm được điều này, bạn nên sử dụng lệnh docker logs cùng với tùy chọn -f hoặc –follow. Điều này sẽ theo dõi nhật ký Docker cho bạn.

Chia sẻ

Thêm từ blog

Hãy tiếp tục đọc.

Một thùng chứa kim loại được che chắn bởi mái vòm khung dây màu lục lam phát sáng, nổi bật với tiêu đề của bài viết và biểu tượng Cloudzy trên nền xanh đậm.
Công cụ dành cho nhà phát triển & DevOps

Những sai lầm bảo mật Docker hàng đầu cần tránh vào năm 2026

Bạn có thể chạy Docker trong sản xuất trong nhiều tháng mà không gặp vấn đề gì rõ ràng. Vùng chứa bắt đầu, ứng dụng phản hồi, không có gì bị hỏng. Sau đó, một cổng bị lộ hoặc một quyền bị định cấu hình sai sẽ tạo ra

Rexa CyrusRexa Cyrus đọc 15 phút
Cấu trúc hình khối màu xanh lam phát sáng 3D tượng trưng cho các vùng chứa Docker, cùng với dòng chữ 'Portainer vs Yacht: Bạn nên chọn giao diện người dùng Docker nào' và logo Cloudzy.
Công cụ dành cho nhà phát triển & DevOps

Portainer vs Yacht: Bạn nên chọn giao diện người dùng Docker nào vào năm 2026?

Quản lý vùng chứa Docker thông qua CLI có hiệu quả đối với các thiết lập đơn giản nhưng quy mô kém. Khi số lượng vùng chứa tăng lên, trạng thái theo dõi, nhật ký và cập nhật theo cách thủ công sẽ trở thành lỗi

Rexa CyrusRexa Cyrus đọc 13 phút
Công cụ tích hợp liên tục
Công cụ dành cho nhà phát triển & DevOps

Công cụ CI/CD tốt nhất để tối ưu hóa quy trình làm việc DevOps của bạn vào năm 2026

  Bối cảnh phát triển phần mềm đang phát triển nhanh hơn bao giờ hết. Và nếu không muốn tụt lại phía sau tốc độ tăng trưởng nhanh chóng này, bạn nên nắm bắt các phương pháp DevOps và Agile

Ada LovegoodAda Lovegood đọc 11 phút

Sẵn sàng triển khai? Từ $2,48/tháng.

Đám mây độc lập, kể từ năm 2008. AMD EPYC, NVMe, 40 Gbps. Hoàn tiền trong 14 ngày.