Docker có sẵn các cơ chế ghi nhật ký có thể được sử dụng để gỡ lỗi các vấn đề khi và khi chúng xảy ra. Có ghi nhật ký ở cấp daemon và ở cấp bộ chứa . Hãy xem xét các cấp độ ghi nhật ký khác nhau.
Ghi nhật ký Daemon
Ở cấp độ ghi nhật ký daemon, có bốn cấp độ ghi nhật ký có sẵn –
- Gỡ lỗi – Nó nêu chi tiết tất cả thông tin có thể được xử lý bởi quy trình daemon.
- Thông tin – Nó nêu chi tiết tất cả các lỗi + Thông tin được xử lý bởi quá trình daemon.
- Lỗi – Nó nêu chi tiết tất cả các lỗi được xử lý bởi quá trình daemon.
- Fatal – Nó chỉ nêu chi tiết tất cả các lỗi nghiêm trọng được xử lý bởi quy trình daemon.
Thực hiện các bước sau để tìm hiểu cách bật tính năng ghi nhật ký.
Bước 1 – Đầu tiên, chúng ta cần dừng quá trình daemon của docker , nếu nó đang chạy. Nó có thể được thực hiện bằng cách sử dụng lệnh sau:
sudo service docker stop
Bước 2 – Bây giờ chúng ta cần bắt đầu quá trình trình nền docker . Nhưng lần này, chúng ta cần thêm tham số –l để chỉ định tùy chọn ghi nhật ký. Vì vậy, chúng ta hãy sử dụng lệnh sau khi bắt đầu quá trình trình nền docker
sudo dockerd –l debug &
Các điểm sau cần lưu ý về lệnh trên:
- dockerd là tệp thực thi cho quy trình nền tảng docker .
- Các -l tùy chọn được sử dụng để xác định mức độ khai thác gỗ. Trong trường hợp của chúng tôi, chúng tôi đang đặt điều này là gỡ lỗi
& được sử dụng để quay lại dấu nhắc lệnh sau khi bật tính năng ghi nhật ký.
Khi bạn bắt đầu quá trình Docker với việc ghi nhật ký, bây giờ bạn cũng sẽ thấy Nhật ký gỡ lỗi được gửi đến bảng điều khiển.
Bây giờ, nếu bạn thực hiện bất kỳ lệnh Docker nào, chẳng hạn như hình ảnh docker , thông tin Gỡ lỗi cũng sẽ được gửi đến bảng điều khiển.
Ghi nhật ký vùng chứa
Ghi nhật ký cũng có sẵn ở cấp độ vùng chứa. Vì vậy, trong ví dụ của chúng tôi, trước tiên hãy tạo một vùng chứa Ubuntu. Chúng ta có thể làm điều đó bằng cách sử dụng lệnh sau
sudo docker run –it ubuntu /bin/bash
Bây giờ, chúng ta có thể sử dụng lệnh docker log để xem nhật ký của vùng chứa.
Cú pháp
Docker logs containerID
Thông số
- containerID – Đây là ID của vùng chứa mà bạn cần xem nhật ký.
Thí dụ
Trên Máy chủ Docker của chúng tôi, hãy phát hành lệnh sau. Trước đó, bạn có thể đưa ra một số lệnh khi ở trong vùng chứa.
sudo docker logs 6bfb1271fcdd
Đầu ra
Từ đầu ra, bạn có thể thấy rằng các lệnh được thực thi trong vùng chứa được hiển thị trong nhật ký.
Docker – Compose
Docker Compose được sử dụng để chạy nhiều vùng chứa như một dịch vụ duy nhất. Ví dụ: giả sử bạn có một ứng dụng yêu cầu NGNIX và MySQL, bạn có thể tạo một tệp sẽ khởi động cả hai vùng chứa dưới dạng một dịch vụ mà không cần khởi động từng tệp riêng biệt.
Trong chương này, chúng ta sẽ xem cách bắt đầu với Docker Compose. Sau đó, chúng ta sẽ xem xét cách thiết lập và chạy một dịch vụ đơn giản với MySQL và NGNIX bằng Docker Compose.
Docker Compose ─ Cài đặt
Cần làm theo các bước sau để thiết lập và chạy Docker Compose.
Bước 1 – Tải xuống các tệp cần thiết từ github bằng lệnh sau:
curl -L "https://github.com/docker/compose/releases/download/1.10.0-rc2/dockercompose
-$(uname -s) -$(uname -m)" -o /home/demo/docker-compose
Lệnh trên sẽ tải xuống phiên bản Docker Compose mới nhất tại thời điểm viết bài này là 1.10.0-rc2 . Sau đó nó sẽ lưu trữ nó trong thư mục / home / demo / .
Bước 2 – Tiếp theo, chúng ta cần cung cấp các đặc quyền thực thi cho tệp Docker Compose đã tải xuống, sử dụng lệnh sau:
chmod +x /home/demo/docker-compose
Sau đó, chúng ta có thể sử dụng lệnh sau để xem phiên bản soạn .
Cú pháp
docker-compose version
Thông số
- phiên bản – Điều này được sử dụng để chỉ định rằng chúng tôi muốn các chi tiết của phiên bản Docker Compose .
Đầu ra
Chi tiết phiên bản của Docker Compose sẽ được hiển thị.
Thí dụ
Ví dụ sau đây cho thấy cách tải phiên bản do docker-compose .
sudo ./docker-compose -version
Đầu ra
Sau đó, bạn sẽ nhận được kết quả sau:
Tạo tệp Docker-Compose đầu tiên của bạn
Bây giờ chúng ta hãy tiếp tục và tạo tệp Docker Compose đầu tiên của chúng ta. Tất cả các tệp Docker Compose đều là tệp YAML. Bạn có thể tạo một cái bằng cách sử dụng trình soạn thảo vim. Vì vậy, hãy thực hiện lệnh sau để tạo tệp soạn thảo :
sudo vim docker-compose.yml
Chúng ta hãy xem xét kỹ các chi tiết khác nhau của tệp này –
- Cơ sở dữ liệu và từ khóa web được sử dụng để xác định hai dịch vụ riêng biệt. Một sẽ chạy cơ sở dữ liệu mysql của chúng tôi và một sẽ là máy chủ web nginx của chúng tôi .
- Các hình ảnh từ khóa được sử dụng để xác định hình ảnh từ dockerhub cho chúng tôi mysql và nginx container
- Đối với cơ sở dữ liệu, chúng tôi đang sử dụng từ khóa cổng để đề cập đến các cổng cần được hiển thị cho mysql .
- Và sau đó, chúng tôi cũng chỉ định các biến môi trường cho mysql được yêu cầu để chạy mysql .
Bây giờ, hãy chạy tệp Docker Compose của chúng tôi bằng cách sử dụng lệnh sau:
sudo ./docker-compose up
Lệnh này sẽ lấy tệp docker-compost.yml trong thư mục cục bộ của bạn và bắt đầu xây dựng các vùng chứa.
Sau khi thực thi, tất cả các hình ảnh sẽ bắt đầu tải xuống và các vùng chứa sẽ tự động bắt đầu.
Và khi bạn thực hiện một lệnhdocker ps , bạn có thể thấy rằng các thùng chứa thực sự đang hoạt động.