如何查看docker日志,讓我們一起了解一下?
通過(guò)docker logs命令可以查看容器的日志。高效的監(jiān)控和日志管理對(duì)保持生產(chǎn)系統(tǒng)持續(xù)穩(wěn)定的運(yùn)行以及排查問(wèn)題至關(guān)重要。在微服務(wù)架構(gòu)中,由于容器的數(shù)量眾多以及快速變化的特性使得記錄日志和監(jiān)控變得越來(lái)越重要。
docker查看日志的幾個(gè)方式:
1、docker logs --tail=1000 容器名稱(chēng) (查看容器前多少行的日志)(推薦)
2、docker 容器啟動(dòng)后,可以進(jìn)入以下位置查看日志(/var/lib/docker/containers/容器ID/容器ID-json.log)(進(jìn)入容器內(nèi)部查看日志)
3、#查看compose所有容器的運(yùn)行日志
docker-compose -f docker-compose-app.yml logs -f
4、#查看compose下某個(gè)容器的運(yùn)行日志
docker-compose -f docker-compose-app. yml logs -f<服務(wù)名>
5、# 也可以把compose的容器日志輸出到日志文件里去,然后用tail -f隨時(shí)查看
docker-compose -f docker-compose-app. yml logs -f >> myDockerCompose.log &
具體操作如下:
docker attach [options] 容器會(huì)連接到正在運(yùn)行的容器,然后將容器的標(biāo)準(zhǔn)輸入、輸出和錯(cuò)誤流信息附在本地打印出來(lái)。命令中options的取值有三種:--detach-keys,--no-stdin,--sig-proxy。
該命令只是進(jìn)入容器終端,不會(huì)啟動(dòng)新的進(jìn)程。所以當(dāng)你同時(shí)使用多個(gè)窗口進(jìn)入該容器,所有的窗口都會(huì)同步顯示。如果一個(gè)窗口阻塞,那么其他窗口也就無(wú)法再進(jìn)行操作。
使用ctrl+c可以直接斷開(kāi)連接,但是這樣會(huì)導(dǎo)致容器退出,而且還stop了。如果想在脫離容器終端時(shí),容器依然運(yùn)行。就需要使用--sig-proxy這個(gè)參數(shù)。例如:
$?docker?attach?--sig-proxy=false?mytest
注意: 當(dāng)使用docker attach連接到容器的標(biāo)準(zhǔn)輸入輸出時(shí),docker使用大約1MB的內(nèi)存緩沖區(qū)來(lái)最大化應(yīng)用程序的吞吐量。如果此緩沖區(qū)填滿(mǎn),那么輸出或?qū)懭氲乃俣葘?huì)受到影響。因此查看應(yīng)用日志,可以使用docker logs命令。
以上就是小編的分享,希望可以幫助到大家。