首页 / 日志 / Docker 容器日志的那些事儿
Docker 容器日志的那些事儿
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Docker 容器日志的那些事儿,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2091字,纯文字阅读大概需要3分钟。
内容图文
![Docker 容器日志的那些事儿](/upload/InfoBanner/zyjiaocheng/1133/b22077e7d28c4cc69a173198e4152210.jpg)
如果时光可以倒流,现实世界的每一步都可以分解到最小,记录下来,就是日志,万物即日志。
面对历史,审视日志,可以选择忘却,也可以选择铭记;经历过的,可以选择珍藏,同样也可以让它尘封。
Docker容器又何尝不是?日志就像一根时间轴,你在或者不在,他都在那。有人对其善意,有人却对其随意。如若不信,可以回忆,自己是否善待Docker容器的日志。
1.传统应用的日志
如若不是被过去伤得太深,踏入一个新的世界,应该还是会怀念过往的吧。新世界的“诱惑”与崭新的节奏,相信依旧无法掩盖旧世界的铅印。数十年岁月,应用的生命是如何在记录?
1.1 很多人注重结果,对过程可能不闻不问,应用的日志可能随着标准输出标准错误(stdout、stderr)扬长而去,无法捕捉,无法定格,结果不如意时万分嗟叹;
1.2 红袖添香,满腹经纶的才子也许会赋诗一首,书于内墙。故地重游,即唤起那良宵之夜。应用的日志也是如此,有心之人也会记录日志(赋诗一首),持久化至某处(书于内墙),便于他日查阅。
1.3 随时随地都可以吟诗题字,古人走万里路,相信很难将所有的题诗悉数记忆。不管多远,如果记忆可以藏在一处便于日后美忆,方为上策。十年前,陈老师那一台电脑做到了;去年,大表姐的手机也帮她做到了。人生如此,遑论日志。日志日志,其实应用的日志也可以发往某处,集中处理。
2.Docker时代的日志
Docker时代的日志,步子并未跨得太大,毕竟安全第一。然而,不可否认发展的时代总有让你意想不到的亮点。
如果你是容器中的应用,哪怕你是始乱终弃,抑或是洒脱不羁,Docker容器都会记录下你的点点滴滴,只要你对着标准输出标准错误说一句action。(Docker容器所有的标准输出标准错误都会被Docker Daemon接管)
如果你是个阅尽人间无数,拳打南山,脚踢北海,四海流窜的Docker容器,你在北京的One Night,兴许第二天在上海的你早已酒醒如初;第三天出差杭州的你,更是不记得昨天在上海住的是几星级宾馆。(Docker容器本身理应尽量无状态,容器内应用持久化的日志则有状态,频繁迁移不宜容器日志管理)。
如果你有一部肾机,如果你继续支持大表姐。Docker容器中的你,很容易将容器走南闯北的经历传至云端,以便他日传看。(Docker容器的应用日志,如果自己发往集中的日志处理中心,则为上上策,易统一;问题是成本高,得有钱买肾机,还需统一化的标准)
3.获取Docker容器持久化日志
阅尽人间无数,却难忆点滴,想必并非君台所愿。梦醒时分,如何获悉北京One Night的一切,现授君些许技巧,从而轻易输送应用在Docker容器内部持久化的日志。
如果你已经熟知docker logs的原理,那么标准输出标准错误的那些事儿,在你看来自然不在话下。如果再加上一些Dockerfile的CMD知识,以下内容的理解自然也是水到渠成。
目标:
通过标准输出,传递Docker容器内部的应用持久化日志文件。
方法:
简单重构应用Dockerfile的CMD指令。
问题假设:
原先应用Dockerfile的CMD指令为CMD [“python”, “app.py”],应用打印日志的路径为/var/log/app.log。
具体实现:
第一步:在原先Dockerfile所在目录下,创建一个run.sh文件,文件内容为:
`#!/bin/bash
tail -F /var/log/app.log &
exec python app.py
第二步:修改Dockerfile,删除原先的CMD,替换为三个指令。
指令一:ADD run.sh /;
指令二:RUN chmod +x run.sh;
指令三:CMD [“./run.sh”]
原理剖析:
run.sh中启动了一个后台进程,使用tail命令强制将/var/log/app.log的内容传输至标准输出,
随后使用exec命令将python app.py作为容器的主进程运行。
示意图:
新的纪元来临,技术革命带来巨大便利时,也许也需要稍微改变下原先的做法,Docker容器的日志管理也是如此。毕竟One Night in 北京,只需对Docker容器中安个镜头,对他说句Action,人力物力都省了,绝对比三里屯的一分钟轻松不少。
大概这样,成本应该还不算高吧。
欢迎关注Docker源码分析公众号
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/shlazww/article/details/47283617
内容总结
以上是互联网集市为您收集整理的Docker 容器日志的那些事儿全部内容,希望文章能够帮你解决Docker 容器日志的那些事儿所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。