您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關docker logs如何查看docker容器日志,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
通過docker logs命令可以查看容器的日志。
$ docker logs [OPTIONS] CONTAINER Options: --details 顯示更多的信息 -f, --follow 跟蹤實時日志 --since string 顯示自某個timestamp之后的日志,或相對時間,如42m(即42分鐘) --tail string 從日志末尾顯示多少行日志, 默認是all -t, --timestamps 顯示時間戳 --until string 顯示自某個timestamp之前的日志,或相對時間,如42m(即42分鐘)
查看指定時間后的日志,只顯示最后100行:
$ docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID
查看最近30分鐘的日志:
$ docker logs --since 30m CONTAINER_ID
查看某時間之后的日志:
$ docker logs -t --since="2018-02-08T13:23:37" CONTAINER_ID
查看某時間段日志:
$ docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID
補充:Docker容器的調試技巧:docker logs 與 docker service logs
不少剛接觸Docker的同學,通常面對docker容器起不來,或者一直在重復啟動中不知措施。
docker提供了一系列簡單命令,很容易調試容器運行中的問題。
原理很簡單,就是可以直接輸出容器運行時(或過去式的)的日志。
通常有4種方式:
docker run
(控制臺上啟動容器)
docker exec
(附加進入后臺容器)
docker logs
docker service logs
下面依次介紹之
打個比如調試啟動redis容器
docker run -it -rm redis redis-server [redis 啟動參數略...]
這樣redis-server的日志輸出直接打印到控制臺上
缺點是,這種方式僅供啟動容器調試時使用,無法操作后臺運行中的容器,或已失效的容器。
docker exec 附加進入后臺容器
有時候需要進入容器內,查看系統運行狀況。這時候可以使用docker exec。
使用docker exec的前提是容器在運行中。因此當容器不能正常工作時,往往無法使用該命令
實際上docker容器不管處于什么狀態,都可以使用docker logs獲取 容器的所有日志。
docker logs [容器名]
docker logs還有局限性,即無法獲取docker swarm模式下,啟動失敗的容器日志
針對docker swarm模式,獲取容器日志的命令。
一般,依次執行下列命令,得到某服務的容器名
docker service ls docker service ps [服務名]
然后就可以通過容器名,獲取其日志了
docker service logs [容器名]
要讓 docker service logs 正常工作,需要設置docker一些配置
vi /etc/docker/daemon.json
給該文件添加:
{ "log-driver": "json-file", "log-opts": { "labels": "production_status,geo", "env": "os,customer" } }
然后重啟docker
service docker restart
關于“docker logs如何查看docker容器日志”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。