當(dāng)Docker部署規(guī)模變大后,需要對(duì)容器進(jìn)行監(jiān)控,一般Docker自帶幾個(gè)監(jiān)控子命令ps、top和stats,然后是現(xiàn)在流行的開(kāi)源監(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: 容器的端口信息和使用的連接類(lèi)型(tcp\udp)。
NAMES: 自動(dòng)分配的容器名稱(chē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 [容器名稱(chēng)] -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ò)和磁盤(pán)的IO數(shù)據(jù),可以再stats命令后面指定容器的名稱(chēng)來(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í)有所幫助,也希望大家多多支持腳本之家。