docker logs 查看實時日志
docker logs -f -t --since="2017-05-31" --tail=10 edu_web_1
--since : 此參數指定了輸出日志開始日期,即只輸出指定日期之后的日志。
-f : 查看實時日志
-t : 查看日志產生的日期
-tail=10 : 查看最后的10條日志。
edu_web_1 : 容器名稱
通過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 logs
實際上docker容器不管處於什么狀態,都可以使用docker logs獲取容器的所有日志。
docker logs [容器名]
docker logs還有局限性,即無法獲取docker swarm模式下,啟動失敗的容器日志
docker service logs
針對docker swarm模式,獲取容器日志的命令。
一般,依次執行下列命令,得到某服務的容器名
docker service ls
docker service ps [服務名]
然后就可以通過容器名,獲取其日志了
docker service logs [容器名]
查看已經停止的docker容器內應用日志
在宿主機上,找到docker關聯的目錄
如:/data/applogs,這個路徑看docker 怎么配的
然后docker ps -a(查看所有容器記錄,找到不在當前運行的docker鏡像名)
然后,查這個日志文件(日志文件名字中含有docker容器的鏡像名)就好了。
dlog 容器id
dlog 容器id |grep "keyword"