一、使用docker logs命令查看容器日誌
docker logs命令可以查看指定容器的日誌信息,命令格式為:
docker logs [OPTIONS] CONTAINER
其中,OPTIONS為多個參數選項,可以使用docker logs –help命令查看具體選項。CONTAINER為容器的名稱或者容器的ID。
要查看某個容器的日誌信息,可以使用docker logs命令,並指定容器的名稱或者容器的ID:
docker logs CONTAINER
如果要查看容器中最新的10條日誌信息,可以使用-n選項:
docker logs -n 10 CONTAINER
二、指定日誌輸出格式
可以使用–format選項指定日誌文件的輸出格式,該選項支持的輸出格式包括:json、logfmt、raw、journald、pretty、short、tty;其中,json、logfmt、raw、journald只能在Linux平台上使用。
例如,指定輸出格式為json:
docker logs --format json CONTAINER
輸出結果為json格式的字元串。
三、指定日誌輸出時間戳格式
可以使用–timestamp選項指定輸出日誌信息的時間戳格式,該選項支持的時間戳格式包括:rfc3339、rfc3339nano、unix、unixnano。
例如,指定輸出時間戳格式為unix:
docker logs --timestamp unix CONTAINER
輸出結果的時間戳為unix格式的時間戳。
四、查看容器內部進程的日誌
通過docker logs命令只能查看容器的標準輸出和標準錯誤輸出的日誌信息,如果要查看容器內部進程的日誌信息,可以使用docker exec命令,該命令可以在正在運行的容器中執行命令。
例如,要查看正在運行的容器nginx中nginx進程的日誌信息,可以使用以下命令:
docker exec CONTAINER_NAME sh -c 'tail -f /var/log/nginx/access.log'
五、使用docker-compose查看容器日誌
在使用docker-compose管理多個容器的時候,可以使用以下命令查看某個容器的日誌信息:
docker-compose logs [OPTIONS] [SERVICE...]
其中,OPTIONS為多個參數選項,可以使用docker-compose logs –help命令查看具體選項。SERVICE為服務的名稱。
要查看某個服務的日誌信息,可以使用docker-compose logs命令,並指定服務的名稱:
docker-compose logs SERVICE
如果要查看服務中最新的10條日誌信息,可以使用–tail選項:
docker-compose logs --tail 10 SERVICE
六、結合ELK/EFK Stack可視化容器日誌
除了使用docker自帶的命令和工具查看容器日誌外,還可以通過ELK/EFK Stack將容器日誌可視化,方便運維人員查看和分析日誌信息。
ELK/EFK Stack包括Elasticsearch、Logstash、Kibana(或者Filebeat),可以將日誌信息收集、存儲、分析和可視化。
其中,Elasticsearch用於存儲、檢索日誌信息;Logstash或者Filebeat用於收集和過濾日誌信息;Kibana用於展示和分析日誌信息。
通過配置Logstash或者Filebeat收集容器日誌信息,並將它們發送到Elasticsearch中,可以通過Kibana查看容器日誌信息的Dashboard,包括日誌信息的數量、容器的名稱、日誌的級別等等。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/239864.html