一、查看Docker日誌命令
Docker是一種容器化技術,使用它的過程中需要查看Docker的日誌輸出來調試或解決問題。查看Docker的日誌有以下幾種方式:
(1)使用docker logs命令。
(2)利用日誌轉發服務,如Fluentd、Logspout。
(3)手動查看Docker容器內部的日誌文件。
docker logs [OPTIONS] CONTAINER
使用docker logs命令可以查看特定Docker容器內部的日誌。其中,OPTIONS參數中有以下內容:
(1) -f:跟隨日誌輸出。
(2) –tail:指定輸出的日誌行數。
(3) –since:查詢指定時間之後的日誌。
例如,查看容器my_container的最後10條日誌:
docker logs --tail 10 my_container
二、查看Docker容器日誌
當Docker容器出現問題時,通過查看其日誌可以幫助我們找到問題。下面介紹如何查看Docker容器的日誌。
第一種方式是使用docker logs命令,如上所述。
第二種方式是手動查看容器內部的日誌文件。通過進入Docker容器,查看容器內部的日誌文件,可以更加細緻地查看容器的日誌。方法如下:
docker exec -it CONTAINER bash
該命令的含義是在特定的Docker容器中啟動一個互動式的bash終端。通過這個bash終端,可以像在普通Linux上一樣操作容器內部。
進入容器後,可以查看容器內部的日誌文件。
tail -f /var/log/syslog
三、查看Docker日誌100行命令
為了檢查容器的最後日誌,我們可以使用以下命令查看容器的最後100行日誌。
docker logs -f --tail 100 [container_name]
此命令將給出日誌的最後100行,並將持續監視該容器的指定輸出。
四、查看Docker日誌大小
Docker容器的日誌可以變得非常大,並佔滿文件系統。如果容器運行時間很長,日誌大小可能會很大。因此,為了避免過多的負載和滿磁碟的情況發生,需要在適當的時候清理或輪詢Docker日誌。
為了查看Docker容器的日誌大小,我們可以使用以下命令:
du -sh /var/lib/docker/containers/[容器ID]/[容器ID]-json.log
該命令將輸出容器日誌文件的大小。
五、查看Docker日誌位置
如果想查看Docker容器的日誌文件位置,可以使用以下命令找到容器日誌所在的文件位置:
docker inspect --format='{{.LogPath}}' [container_name_or_id]
該命令將給出容器日誌的完整路徑。
六、查看Docker日誌策略未生效
當我們在Docker Compose中配置了Logging選項,但日誌策略未生效時,需要檢查是否可能與主機上的Logging Driver相關。在Linux系統上,我們需要配置rsyslog守護進程來監聽Docker容器發出的日誌數據。
使用以下命令對主機的logging driver進行檢查:
docker info --format '{{.LoggingDriver}}'
要使Docker Compose中的Logging選項生效,必須重啟Docker服務:
sudo service docker restart
七、Docker實時查看日誌
當我們需要查看Docker容器的實時日誌時,可以使用以下命令:
docker logs --follow [container_name]
該命令將輸出容器的日誌,直到使用CTRL+C中斷為止。
八、Docker查看備份日誌
在Docker容器中備份已生成的日誌很重要,以便在需要時進行恢復。為方便起見,我們可以將容器日誌直接發送到外部日誌收集器,如ELK或Graylog,並啟用備份和恢復功能。
Docker推薦使用Fluentd或Logspout來收集和轉發Docker日誌。
使用以下命令將容器的日誌發送到Fluentd:
docker run -d --log-driver=fluentd --log-opt fluentd-address=localhost:24224 --log-opt tag="{{.Name}}" your_image
Fluentd將從如果指定的地址接收Docker日誌,並將其發送到Elasticsearch或其他數據存儲中進行增量備份。
九、Docker啟動日誌
Docker引擎的啟動日誌有助於檢查Docker配置是否有誤。啟動日誌可用於查看如何啟動Docker引擎,以供調試或問題解決使用。
Docker啟動日誌默認存儲在/var/log/下。要查看Docker引擎的啟動日誌,請鍵入以下命令:
sudo journalctl -u docker.service
該命令將輸出啟動日誌。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/311444.html