温馨提示×

温馨提示×

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

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

docker中logs 日志的原理是什么

发布时间:2021-06-15 12:01:29 来源:亿速云 阅读:395 作者:Leah 栏目:大数据

今天就跟大家聊聊有关docker中logs 日志的原理是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

参数说明

$ docker logs [OPTIONS] CONTAINER
Options:
        --details        显示更多的信息
    -f, --follow         跟踪日志输出,最后一行为当前时间戳的日志
        --since string   显示自具体某个时间或时间段的日志
        --tail string    从日志末尾显示多少行日志, 默认是all
    -t, --timestamps     显示时间戳

使用方法

$ docker logs 26b12d17fefc
  nohup: appending output to 'nohup.out'
  nohup: appending output to 'nohup.out'
$ docker logs --tail 1 26b12d17fefc
  nohup: appending output to 'nohup.out'
$ docker logs -t --tail 1 26b12d17fefc
  2017-07-03T13:58:54.232003809Z nohup: appending output to 'nohup.out'
$ docker logs --since 30m 26b12d17fefc
  nohup: appending output to 'nohup.out'
$ docker logs -t --since="2017-07-03T13:58:54.232003809Z" 26b12d17fefc
  2017-07-03T13:58:54.232003809Z nohup: appending output to 'nohup.out'
$ docker logs -t --since="2017-07-03T12:12:29.909710295Z" 26b12d17fefc
  2017-07-03T12:12:29.909710295Z nohup: appending output to 'nohup.out'
  2017-07-03T13:58:54.232003809Z nohup: appending output to 'nohup.out'

容器日志的输出形式

  • stdout 标准输出

  • stderr 标准错误

  • 以json格式存放在容器对于到日志文件中

docker日志内容类型 

  • docker自身运行时Daemon的日志内容

  • docker容器的日志内容

docker logs的实现原理 

“Docker Daemon是Docker架构中一个常驻在后台的系统进程,它在后台启动了一个Server,Server负责接受Docker Client发送的请求;接受请求后,Server通过路由与分发调度,找到相应的Handler来执行请求。–《Docker源码分析》”

 当我们输入docker logs的时候会转化为Docker Client向Docker Daemon发起请求,Docker Daemon 在运行容器时会去创建一个协程(goroutine),绑定了整个容器内所有进程的标准输出文件描述符。因此容器内应用的所有只要是标准输出日志,都会被 goroutine 接收,Docker Daemon会根据容器id和日志类型读取日志内容,最终会输出到用户终端上并且通过json格式存放在/var/lib/docker/containers目录下。

看完上述内容,你们对docker中logs 日志的原理是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

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

AI