docker学习笔记-------如何优雅的查看docker容器的日志

举例来说,如果容器内部运行了一个redis 服务,怎么样查看redis的运行状态


1 ssh管理容器 先说的也是最差劲的方法  登录到容器内 开一个shell  /bin/bash 

  然后在tail -f  /var/logs/redis/redis_primary.log ,

  看完了再exit 到容器外边 ok ,

  很  low.....


2 另外一种方法,需要用到Dockerfile 中的 volume 知识  ,volume 是用来进行容器中用来数据共享的命令 

所以在build镜像的时候 ,可以将日志文件用卷volume分享出来

例如: VOLUME [ "/var/lib/redis", "/var/log/redis" ]

然后用这个镜像 运行的容器 ,可以用新建一个容器来查看这个共享卷的内容,来实现查看日志的目的

docker run -it --rm --volumes-from redis_replica  ubuntu cat /var/log/redis/redis-server.log  

这条命令 : 1 用ubuntu 运行了一个容器     2 --rm 是在容器exit之后 自动从系统删除  3 --volumes-from 就是要监控的容器的服务的日志文件,因为redis_replica 分享出啦一个卷 来存放日志 ,所以在运行容器的初始化命令 是cat xx.log 


3 logstash 这个东西的原理是:会一直监视制定文件,将其中更新的内容发给logstash ,然后通过的logstash输出 ,所以我们运行一个logstash 容器就可以监控我们所有的想监控的容器应用 

logstash的dockerfile 

https://github.com/jamtur01/dockerbook-code/tree/master/code/6/node/logstash

用wget 把两个文件下载下来 ,然后build logstash 容器

运行  docker run -d --name logstash --volumes-from redis_primary --volumes-from nodeapp logstash


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值