docker容器日志查看常用命令及線上日志排查
基本查看日志命令
- 查看最新日志:
docker logs <container_name_or_id> docker logs imc-system
將 <container_name_or_id>
替換為容器的名稱或容器ID。這將顯示容器的最新日志輸出。
- 實(shí)時查看日志:
docker logs -f <container_name_or_id> docker logs -f imc-system
使用 -f
參數(shù),你可以實(shí)時跟蹤容器的日志輸出,類似于 tail -f
命令。
- 查看指定行數(shù)的日志:
docker logs --tail <number_of_lines> <container_name_or_id> docker logs --tail 50 imc-system
使用 --tail
參數(shù),可以指定查看的日志行數(shù)。將 <number_of_lines>
替換為你希望查看的行數(shù)。
- 查看時間戳:
docker logs --timestamps <container_name_or_id> docker logs --timestamps imc-system
使用 --timestamps
參數(shù),可以在日志中顯示時間戳。
- 查看之前的日志:
docker logs --since <timestamp> <container_name_or_id> docker logs --since '2023-07-20T06:00:00' imc-system
使用 --since
參數(shù),可以查看指定時間之后的日志。將 <timestamp>
替換為時間戳,例如 YYYY-MM-DDTHH:MM:SS
。
- 查看最近的日志:
docker logs --until <timestamp> <container_name_or_id> docker logs --until '2023-07-20T06:00:00' imc-system
對于最近的日志,使用 --until
參數(shù),可以查看指定時間之前的日志。將 <timestamp>
替換為時間戳,例如 YYYY-MM-DDTHH:MM:SS
。
請注意,<container_name_or_id>
可以是容器的名稱或者容器的唯一ID。你可以使用 docker ps
命令來獲取運(yùn)行中容器的名稱或ID。
線上日志排查
在線上排除 Docker 日志時,常用的邏輯是根據(jù)日志內(nèi)容或其他標(biāo)識進(jìn)行篩選和過濾,以便只關(guān)注特定關(guān)鍵信息,降低噪音和冗余。以下是一些常用的邏輯和方法:
根據(jù)關(guān)鍵詞過濾: 使用
grep
命令或其他文本搜索工具,根據(jù)關(guān)鍵詞過濾日志,只顯示包含特定關(guān)鍵詞的日志行。例如:docker logs <container_name_or_id> | grep "ERROR"
這將只顯示包含 “ERROR” 關(guān)鍵詞的日志行。
時間范圍過濾: 使用
--since
和--until
參數(shù),可以根據(jù)時間范圍過濾日志,只查看特定時間段內(nèi)的日志。例如:docker logs --since "2023-07-01T00:00:00" --until "2023-07-20T23:59:59" <container_name_or_id>
這將顯示從 2023 年 7 月 1 日到 2023 年 7 月 20 日的日志。
最近N行日志: 使用
--tail
參數(shù),可以只查看最近的 N 行日志。例如:docker logs --tail 100 <container_name_or_id>
這將顯示容器最近的100行日志。
日志輸出至文件: 將日志輸出到文件,以便后續(xù)離線查看和分析??梢允褂弥囟ㄏ蚍?nbsp;
>
將日志輸出到文件,例如:docker logs <container_name_or_id> > container_logs.txt
實(shí)時日志監(jiān)控: 使用
-f
參數(shù)實(shí)時監(jiān)控日志輸出,類似于tail -f
命令。例如:docker logs -f <container_name_or_id>
使用日志驅(qū)動: Docker 支持多種日志驅(qū)動,可以根據(jù)需要選擇適合的驅(qū)動,例如
json-file
、syslog
、fluentd
等。這些驅(qū)動可以幫助你將日志傳輸?shù)街醒肴罩臼占到y(tǒng),方便集中管理和分析。結(jié)合日志管理工具: 使用日志管理工具,如 ELK (Elasticsearch, Logstash, Kibana) 或 Fluentd + Elasticsearch + Kibana,可以實(shí)現(xiàn)更高級的日志收集、存儲、搜索和可視化功能。
請根據(jù)你的具體需求和場景選擇合適的方法,確保對關(guān)鍵信息進(jìn)行及時監(jiān)控和分析,同時減少不必要的日志記錄和輸出,以免影響性能和造成存儲浪費(fèi)。
總結(jié)
到此這篇關(guān)于docker容器日志查看常用命令及線上日志排查的文章就介紹到這了,更多相關(guān)docker容器日志查看命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker nginx 部署多個項(xiàng)目的示例方法
這篇文章主要介紹了docker nginx 部署多個項(xiàng)目的示例方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11使用docker部署java項(xiàng)目運(yùn)行環(huán)境的實(shí)現(xiàn)步驟
本文主要介紹了使用docker部署java項(xiàng)目運(yùn)行環(huán)境的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01Docker中實(shí)現(xiàn)CI(持續(xù)集成)和CD(持續(xù)交付/部署)的實(shí)戰(zhàn)詳解
持續(xù)集成(CI/CD)是一種軟件開發(fā)的經(jīng)驗(yàn)總結(jié),它用于幫助開發(fā)團(tuán)隊(duì)和交付團(tuán)隊(duì)實(shí)現(xiàn)頻繁且快速的集成,以及測試他們的工作成果,以盡可能快地發(fā)現(xiàn)項(xiàng)目開發(fā)和交付工程中的錯誤,本文就給大家詳細(xì)的介紹一下Docker中如何實(shí)現(xiàn)CI和CD,需要的朋友可以參考下2023-08-08Docker默認(rèn)網(wǎng)段修改實(shí)現(xiàn)方法解析
這篇文章主要介紹了Docker默認(rèn)網(wǎng)段修改實(shí)現(xiàn)方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11關(guān)于docker可視化管理工具-DockerUI的安裝
這篇文章主要介紹了關(guān)于docker可視化管理工具-DockerUI的安裝,DockerUI是一款開源強(qiáng)大的輕量級Docker管理工具,還不了解這款工具的朋友一起來看看吧2023-03-03docker容器與宿主機(jī)的數(shù)據(jù)交互方式總結(jié)
這篇文章主要給大家介紹了關(guān)于docker容器與宿主機(jī)的數(shù)據(jù)交互,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11