设为首页 收藏本站
查看: 736|回复: 0

[经验分享] Docker日志那点事

[复制链接]

尚未签到

发表于 2018-5-28 07:47:17 | 显示全部楼层 |阅读模式
  一套软件系统的整个生命周期中,其中超过80%的时间都是在运维。运维中有几块不可缺,其中监控和日志,虽然没有这么复杂,但却是运维的基础。
  docker的出现,颠覆了原基础架构以及应用部署的模式。今天聊一下docker环境的日志。
  我们先准备个测试环境
  先在我们的docker host上起一个tomcat的容器
  输入命令docker search tomcat
DSC0000.png

  我们选择STARS最高的一个镜像
  然后pull下来
  docker pull docker.io/tomcat
DSC0001.png

  我们使用docker images 找到下载完成的镜像
DSC0002.png

  现在我们启动一个tomcat的容器
  docker run -d -p 8080:8080 docker.io/tomcat
  启动成功后,我们可以看到完整的容器id
  7df4f4428df4290497abf70c8fee013f405ce22c61c3ca797c57dfd155e28545
DSC0003.png

  我们也可以使用docker ps 查看我们刚才启动的容器
  但是container id 会被阶段,显示并不完整,但是实际上显示部分已经是唯一的了
  docker ps --no-trunc 命令可以不截断完整的id
DSC0004.png

  大家要记住这个id号,这个很重要
  基础环境已经准备好了。
  我们现在要开始查看这个容器的日志了
  我们输入(命令格式docker logs container-id)docker logs 7df4f4428df4290497abf70c8fee013f405ce22c61c3ca797c57dfd155e28545
  我们会看到有日志打出,屏幕上显示的都是tomcat的日志
DSC0005.png

  使用docker logs还有几个参数可以选择 例如 –t 是显示时间,时间会精确到秒后9位
DSC0006.png

  而使用 docker logs –f 则是实时输出日志
  重点来了,为什么容器内的日志可以通过docker logs查看呢?是因为容器内应用的日志都输出到标准输出了(打到console,或者打到屏幕上,这样说比较容易理解)
  如果你的日志还是写在文件里,那是无法通过docker logs查看的!
  问题来了,如果有人说:我不想通过docker logs查看日志,我想直接拿到日志文件,那文件在哪里呢?
  文件在这个位置
  /var/lib/docker/containers/
  进入这个目录我ls了一下,然后我就惊呆了! 这都是什么呀
  我的确进入了一个计算机的世界!
  别急,这些都是以容器id为名称的文件夹,您需要的日志都在这些文件夹里
DSC0007.png

  还记得我刚才让您记住的容器id么? 我们cd 进入这个目录
DSC0008.png

  还真有这个目录!好神奇
  ls一下,发现有一个*-json.log的文件
  大哥您要的日志文件在此!
DSC0009.png

  当然如果您公司内部有统一的日志收集系统例如splunk,elk什么,也可以抽取这个位置的日志。
  回到刚才中间的聊到的一个问题,如果您的日志写在本地怎么办?
  有2个方法,也许不止
  1,您可以exec到容器内去查看,具体查看的方法与您之前直接在电脑上查看日志是一样的。
  2,您可以在容器启动的时候挂在一个volume,可以将日志写入到这volume上,您可以直接到这个volume里上查看日志。
  今天就到这里
  客官,这是您的docker 请用好。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-481949-1-1.html 上篇帖子: Docker 环境 Storage Pool 用完解决方案:resize 下篇帖子: 新CEO上任,Docker在开源与商业间做出了选择?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表