Kiểm tra thời gian uptime của một Docker Container

208

Kiểm tra thời gian uptime của một Docker ContainerCuongquach.com | Bạn có bao giờ quan tâm đến thời gian đang chạy (uptime) của một con docker container hay không ? Thật ra giá trị này cũng ít người quan tâm, nhưng hôm nay mình có việc phải code hệ thống thu thập thông tin về container thì có nhu cầu kiểm thông tin giá trị thể hiện thời gian uptime của 1 con Docker Container chính xác thời lượng time. Thế là bạn có bài viết này đấy.

thời gian uptime docker container

Có thể bạn quan tâm chủ đề khác
Kích hoạt chế độ debug trên Docker
Container Registry là gì ?
Docker Hub là gì ?
Sự khác nhau giữa Docker Hub và Docker Registry

Kiểm tra thời gian uptime của Docker Container

Thông thườn bạn có thể kiểm tra thời gian đang chạy của container docker như lệnh dưới, ở cột STATUS :

Nhưng mà thông tin chỉ mang tính tương đối không phù hợp nhu cầu cần thông tin thời gian cụ thể để đo lường.

Mặc định khi bạn coi các thông tin chi tiết của docker container bằng lệnh ‘docker inspect‘ thì sẽ thấy không hề có giá trị nào thể hiện thời gian uptime như trên Linux host. Thay vào đó có một trường giá trị có thể sử dụng để tính toán đó là ‘StartedAt‘.

Ví dụ:

Chú thích:
StartedAt : là thời gian mà container đó được start lên gần nhất để chạy (chạy ở trạng thái running). Khi bạn stop container thì nó vẫn sẽ lưu giá trị thời gian start container gần nhất, nên kết hợp 2 điều kiện là ‘container‘ đang chạy (running) và thời gian startedAt của nó.

Sau khi có được thông tin thời gian khởi động container rồi thì ta sẽ convert sang thời gian unix time.

Rồi lấy Unixtime thời gian hiện tại, tính toán trừ đi thời gian unixtime khởi động container là sẽ ra thời gian uptime (đơn vị giây) chạy của container . Nên ta có thể có công thức đơn giản như sau .

Giờ chạy thử script đơn giản này thôi nào.

Đơn giản vui vẻ phải không các bạn. Nếu bạn thích chuyển đổi thời gian (giây) sang phút, giờ,.. thì bạn có thể tự code thêm nhé. Cám ơn các bạn đã theo dõi.

Nguồn: https://cuongquach.com/

LEAVE A REPLY