docker logs如何查看docker容器日志

发布时间:2021-03-19 14:10:53 作者:小新
来源:亿速云 阅读:1043

这篇文章将为大家详细讲解有关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 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 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容器日志”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

推荐阅读:
  1. docker容器访问日志的命令是什么
  2. docker查看容器日志的命令是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

docker logs

上一篇:MySQL使用binlog日志做数据恢复的案例

下一篇:怎么解决Docker run容器处于created状态问题

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》