CodeGym /Adesua ahorow /Docker SELF /處理容器的日誌

處理容器的日誌

Docker SELF
等級 11 , 課堂 3
開放

4.1 docker logs 指令的基礎

docker logs 指令 是個很方便的工具,用於監控和除錯容器。通過這個指令,開發者和系統管理員可以查看容器的日志,這對診斷問題和分析應用程式運行狀況很有幫助。在這堂課中,我們會詳細介紹如何使用 docker logs 指令,哪些參數可以用,還有如何有效地管理日志。

docker logs 指令 會輸出你指定容器的日志。這些日志包括容器內部的進程寫入標準輸出 (stdout) 和錯誤輸出 (stderr) 的所有消息。

語法


docker logs [OPTIONS] CONTAINER

其中:

  • CONTAINER: 你想查看日志的容器名稱或 ID。
  • OPTIONS: 用於配置日志輸出的附加參數。

基本用法示例

這條指令會輸出容器 my_container 的所有累積日志。

Terminal


docker logs my_container

4.2 docker logs 指令的參數

docker logs 指令支持幾個選項,可以根據具體需求來配置日誌的輸出。

1. 實時查看日誌

使用參數 -f (follow) 可以實時查看日誌。這個參數讓你可以像 tail -f 一樣即時跟蹤日誌的更新。

終端機


docker logs -f my_container 

2. 限制輸出的日誌行數

透過使用參數 --tail,可以限制 docker logs 指令輸出的行數。這在只需要日誌的最後幾行而不是整個日誌時很有用。

終端機


docker logs --tail 100 my_container 

這個例子會只輸出容器 my_container 的最後 100 行日誌。

3. 從特定時間開始輸出日誌

參數 --since 允許從指定的時間開始輸出日誌。時間可以是時間戳格式(如 2023-07-20T15:00:00)或相對格式(如 1h 表示最近一小時的日誌)。

終端機


docker logs --since "2023-07-20T15:00:00" my_container 

或者

終端機


docker logs --since 1h my_container 

4. 輸出到特定時間的日誌

參數 --until 允許輸出到指定時間的日誌。時間格式與參數 --since 相同。

終端機


docker logs --until "2023-07-20T16:00:00" my_container 

或者

終端機


docker logs --until 10m my_container 

5. 合併 stdoutstderr

默認情況下,docker logs 指令會輸出標準輸出流 (stdout) 和標準錯誤流 (stderr)。你可以用 --stdout--stderr 來指定輸出哪些流。

終端機


docker logs --stdout my_container 

這個例子會只輸出標準輸出流中的訊息。

4.3 使用範例

範例 1: 查看日誌的最後幾行並實時跟踪更新

這個範例會輸出容器 my_container 的最後 50 行日誌,並實時跟踪新的記錄。

Terminal


docker logs -f --tail 50 my_container 

範例 2: 輸出過去 24 小時的日誌

這個範例會輸出容器 my_container 在過去 24 小時內所有累積的日誌。

Terminal


docker logs --since 24h my_container 

範例 3: 輸出特定時間段內的日誌

這個範例會輸出容器 my_container 在 2023 年 7 月 20 日 15:00 到 16:00 期間記錄的日誌。

Terminal


docker logs --since "2023-07-20T15:00:00" --until "2023-07-20T16:00:00" my_container 

4.4 實際應用場景

1. 調試應用程式

如果你的應用程式運行不正常或者崩潰了,查看日誌可以幫助診斷問題。使用 docker logs 指令來找到日誌中的錯誤和警告。

Terminal


docker logs my_app_container 

2. 監控伺服器運行

為了實時監控伺服器的運行,你可以使用 docker logs 指令加上 -f 選項。

Terminal


docker logs -f web_server_container 

這可以讓你實時跟蹤伺服器的請求和響應。

3. 分析性能

如果你希望分析應用程式在特定時間段內的性能,可以使用參數 --since--until

Terminal

        
docker logs --since "2023-07-20T00:00:00" --until "2023-07-20T23:59:59" my_app_container 
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION