docker是現在最流行的容器化技術,而日志則是容器運行過程中一個必不可少的重要組件。了解docker日志的查看方法對于容器的正常運行和問題排查有著至關重要的作用。本文將會介紹一個通用的方法來查看docker容器的日志。
一、Docker容器的日志主要分為兩個部分:標準輸出和標準錯誤。標準輸出(stdout)用于容器輸出正常信息,包括應用程序的標準輸出信息和訪問日志信息,標準錯誤(stderr)用于容器輸出錯誤信息,包括應用程序的錯誤輸出信息、異常信息等。
二、常用查看Docker日志的命令
- docker logs
這是查看Docker日志最常用的方法。該命令可以查看指定容器的標準輸出和標準錯誤輸出的最新日志信息,如下:
docker logs [OPTIONS] CONTAINER
OPTIONS參數說明:
-f:持續輸出日志,按時間倒序顯示。
-t:顯示日志時間戳。
–tail [number]:僅顯示最后number行的信息,默認為所有。
示例:
# 查看最后100行容器日志 docker logs --tail 100 container_name # 持續查看容器日志 docker logs -f container_name # 顯示時間戳 docker logs -t container_name
- journalctl
journalctl是一個系統日志管理工具,可以查看系統日志、容器日志和服務日志等。該命令可以查看指定container名稱的日志信息,如下:
journalctl CONTAINER_NAME=container_id
示例:
# 查看所有系統日志 journalctl # 查看指定docker容器日志 journalctl CONTAINER_NAME=mydocker
三、個別情況下容器的日志無法顯示,需要手動進入容器內部查看,方法如下:
- 通過docker exec進入容器
可以通過docker exec命令進入容器內,然后在容器內部查看日志。如下:
docker exec -ti container_name /bin/bash
- 查看容器內部的日志文件
Docker將容器日志輸出到/var/log/目錄下的文件中,可以通過命令查看容器日志。
# 查看啟動日志 sudo tail -f /var/log/syslog | grep "docker/container_name" # 查看應用程序日志 sudo tail -f /var/log/docker/container_name/*.log
四、總結
Docker容器日志的查看是Docker的重要功能。在容器運行出現問題時,通過查看容器日志可以及時定位問題。日常運維中,我們應該積極地去使用Docker提供的日志查看命令,并記得使用合適的方式輸出容器日志。