小知识:docker logs-查看docker容器日志的实现

通过docker logs命令可以查看容器的日志

命令格式:

?
1
2
3
4
5
6
7
8
$ docker logs [OPTIONS] CONTAINER
Options:
–details    显示更多的信息
-f, –follow     跟踪实时日志
–since string  显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
–tail string  从日志末尾显示多少行日志, 默认是all
-t, –timestamps   显示时间戳
–until string  显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)

例子:

查看指定时间后的日志,只显示最后100行:

?
1
$ docker logs -f -t –since=”2018-02-08″ –tail=100 CONTAINER_ID

查看最近30分钟的日志:

?
1
$ docker logs –since 30m CONTAINER_ID

查看某时间之后的日志:

?
1
$ docker logs -t –since=”2018-02-08T13:23:37″ CONTAINER_ID

查看某时间段日志:

?
1
$ 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容器

?
1
docker run -it -rm redis redis-server [redis 启动参数略…]

这样redis-server的日志输出直接打印到控制台上

缺点是,这种方式仅供启动容器调试时使用,无法操作后台运行中的容器,或已失效的容器。

docker exec 附加进入后台容器

有时候需要进入容器内,查看系统运行状况。这时候可以使用docker exec。

使用docker exec的前提是容器在运行中。因此当容器不能正常工作时,往往无法使用该命令

docker logs

实际上docker容器不管处于什么状态,都可以使用docker logs获取 容器的所有日志。

?
1
docker logs [容器名]

docker logs还有局限性,即无法获取docker swarm模式下,启动失败的容器日志

docker service logs

针对docker swarm模式,获取容器日志的命令。

一般,依次执行下列命令,得到某服务的容器名

?
1
2
docker service ls
docker service ps [服务名]

然后就可以通过容器名,获取其日志了

docker service logs [容器名]

docker service logs显示日志为空

要让 docker service logs 正常工作,需要设置docker一些配置

?
1
vi /etc/docker/daemon.json

给该文件添加:

?
1
2
3
4
5
6
7
{
“log-driver”: “json-file”,
“log-opts”: {
“labels”: “production_status,geo”,
“env”: “os,customer”
}
}

然后重启docker

?
1
service docker restart

关于docker service logs的详细介绍,可以参考官方文档

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://www.jianshu.com/p/1eb1d1d3f25e

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:浅谈Docker run 容器处于created状态问题

2023-3-23 18:01:59

建站知识

小知识:2021年有哪些高性价比SSL证书?SSL证书选购指南

2023-3-23 18:16:23

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索