Docker容器監(jiān)控及日志管理實(shí)現(xiàn)過(guò)程解析
當(dāng)Docker部署規(guī)模變大后,需要對(duì)容器進(jìn)行監(jiān)控,一般Docker自帶幾個(gè)監(jiān)控子命令ps、top和stats,然后是現(xiàn)在流行的開源監(jiān)控工具Prometheus
Docker自帶的監(jiān)控子命令ps
docker ps ,列出容器,方便查看當(dāng)前的運(yùn)行的容器,以下是命令語(yǔ)法與參數(shù)
語(yǔ)法
docker ps [OPTIONS]
OPTIONS說(shuō)明:
- -a :顯示所有的容器,包括未運(yùn)行的。
- -f :根據(jù)條件過(guò)濾顯示的內(nèi)容。
- --format :指定返回值的模板文件。
- -l :顯示最近創(chuàng)建的容器。
- -n :列出最近創(chuàng)建的n個(gè)容器。
- --no-trunc :不截?cái)噍敵觥?/li>
- -q :靜默模式,只顯示容器編號(hào)。
- -s :顯示總的文件大小。
輸出詳情介紹:
- CONTAINER ID: 容器 ID。
- IMAGE: 使用的鏡像。
- COMMAND: 啟動(dòng)容器時(shí)運(yùn)行的命令。
- CREATED: 容器的創(chuàng)建時(shí)間。
- STATUS: 容器狀態(tài)。
狀態(tài)有7種:
- created(已創(chuàng)建)
- restarting(重啟中)
- running(運(yùn)行中)
- removing(遷移中)
- paused(暫停)
- exited(停止)
- dead(死亡)
PORTS: 容器的端口信息和使用的連接類型(tcp\udp)。
NAMES: 自動(dòng)分配的容器名稱。
新版的Docker提供了一個(gè)新命令docker container ls,其作用和用法與docker container ps完全一致。不過(guò)ls的含義可能比ps更準(zhǔn)確,所以推薦使用。
top
如果想知道某個(gè)容器運(yùn)行了哪些進(jìn)程,可以執(zhí)行docker container top 命令,如下所示:
命令后面還可以跟上linux操作系統(tǒng)ps命令的參數(shù)來(lái)顯示特定的信息,比如-au,這樣docker container top [容器名稱] -au執(zhí)行結(jié)果如下所示:
stats
docker container stats 用于顯示每個(gè)容器各種資源的使用情況
默認(rèn)會(huì)顯示一個(gè)實(shí)時(shí)變化的列表,展示每個(gè)容器的cpu的使用率,內(nèi)存和可用空間等。
如果容器啟動(dòng)的時(shí)候沒(méi)有特別指定內(nèi)存limit,stats命令這里會(huì)顯示host內(nèi)存的總量,但是這不意味著每個(gè)容器都能使用這么多內(nèi)存
除此之外,docker container stats命令還會(huì)顯示容器網(wǎng)絡(luò)和磁盤的IO數(shù)據(jù),可以再stats命令后面指定容器的名稱來(lái)顯示某些容器的數(shù)據(jù)
Docker logs
默認(rèn)配置下 Docker 的日志功能。
對(duì)于一個(gè)運(yùn)行的容器,Docker 會(huì)將日志發(fā)送到 容器的 標(biāo)準(zhǔn)輸出設(shè)備(STDOUT)和標(biāo)準(zhǔn)錯(cuò)誤設(shè)備(STDERR),STDOUT 和 STDERR 實(shí)際上就是容器的控制臺(tái)終端。
如果要查看容器的日志,有兩種方法:
attach 到該容器。
用 docker logs 命令查看日志。
ttach 的方法在實(shí)際使用中不太方便,因?yàn)椋?/p>
只能看到 attach 之后的日志,以前的日志不可見(jiàn)。
退出 attach 狀態(tài)比較麻煩(Ctrl+p 然后 Ctrl+q 組合鍵),一不小心很容器將容器殺掉(比如按下 Ctrl+C)。
查看容器日志推薦的方法是用 docker logs 命令。
如下所示:
dokcer logs能夠打印自容器啟動(dòng)以來(lái)的完整日志,并且-f參數(shù)可以繼續(xù)打印出新產(chǎn)生的日志,效果與linux的tail -f一樣
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Docker可視化面板Portainer的實(shí)現(xiàn)
Portainer是一個(gè)免費(fèi)的容器管理工具,支持Docker環(huán)境的可視化管理,通過(guò)Portainer,用戶可以輕松地在Windows或Linux容器中部署服務(wù),大大簡(jiǎn)化了Docker容器的管理工作,感興趣的可以了解一下2024-11-11開源框架?Matrix-Dendrite?搭建聊天服務(wù)器的詳細(xì)過(guò)程
Matrix?是一個(gè)開源、可交互、去中心化的實(shí)時(shí)通信服務(wù)框架。使用?Matrix?可以搭建安全的通信服務(wù)器,配合支持?Matrix?的客戶端可以實(shí)現(xiàn)個(gè)人、團(tuán)隊(duì)間的實(shí)時(shí)聊天交互,對(duì)Matrix?Dendrite搭建聊天服務(wù)器的過(guò)程感興趣的朋友一起看看吧2022-03-03Docker 中快速安裝tensorflow環(huán)境的方法步驟
這篇文章主要介紹了Docker 中快速安裝tensorflow環(huán)境的方法步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-10-10Dockerfile指令與基本結(jié)構(gòu)的講解
今天小編就為大家分享一篇關(guān)于Dockerfile指令與基本結(jié)構(gòu)的講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03記一次Docker生產(chǎn)環(huán)境搭建的方法
這篇文章主要介紹了記一次Docker生產(chǎn)環(huán)境搭建的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06在Docker容器中使用iptables時(shí)的最小權(quán)限的開啟方法
這篇文章主要介紹了在Docker容器中使用iptables時(shí)的最小權(quán)限的開啟方法的相關(guān)資料,需要的朋友可以參考下2017-01-01