查看docker下的应用日志

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"
posted on 2018-11-21 17:31  duanxz  阅读(6675)  评论(0编辑  收藏  举报