mount is not a block device及Docker容器内应用的日志收集

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32447321/article/details/86533239

有的时候不想删除与软链接同名的旧目录,并且也不想重命名旧目录,可以使用如下命令直接挂载: # mount /dev/cdrom /mnt/cdrom -B 其中的关键在【-B】这个参数,其意思是: -B, --bind 挂载其他位置的子树(同 -o bind) (ps:文件同理)

[root@alex /alex/data/nginx/conf]$ mkdir logs
[root@alex /alex/data/nginx/conf]$ cd logs/
[root@alex /alex/data/nginx/conf/logs]$ ls
[root@alex /alex/data/nginx/conf/logs]$ vi test.html
[root@alex /alex/data/nginx/conf/logs]$ ls
test.html
[root@alex /alex/data/nginx/conf/logs]$ cd ../../data/
[root@alex /alex/data/nginx/data]$ ls
[root@alex /alex/data/nginx/data]$ mount /alex/data/nginx/conf/logs/ /alex/data/nginx/data/
mount:  /alex/data/nginx/conf/logs is not a block device
[root@alex /alex/data/nginx/data]$ mount /alex/data/nginx/conf/logs/ .
mount:  /alex/data/nginx/conf/logs is not a block device
[root@alex /alex/data/nginx/data]$ mount /alex/data/nginx/conf/logs /alex/data/nginx/data
mount:  /alex/data/nginx/conf/logs is not a block device
[root@alex /alex/data/nginx/data]$ mount /alex/data/nginx/conf/logs /alex/data/nginx/data -B
[root@alex /alex/data/nginx/data]$ ls
[root@alex /alex/data/nginx/data]$ ll
[root@alex /alex/data/nginx/data]$ cd ../conf/logs/
[root@alex /alex/data/nginx/conf/logs]$ ls
test.html
[root@alex /alex/data/nginx/conf/logs]$ mv test.html test.html2
[root@alex /alex/data/nginx/conf/logs]$ ls
test.html2
[root@alex /alex/data/nginx/conf/logs]$ cd ../../data/
[root@alex /alex/data/nginx/data]$ ls
test.html2
[root@alex /alex/data/nginx/data]$ cat test.html2 
helloworld!
[root@alex /alex/data/nginx/data]$

Docker容器内应用的日志收集方案:https://blog.csdn.net/ljxljx386/article/details/51792244

_2015_12_18_17_34_10

日志对开发和维护的重要性不言而喻。分布式应用中的日志分布在多台机器上,所以我们需要将日志采集到一个地方来集中管理。目前比较常见的日志方案是ElK,主要包括三大组件:Elasticsearch, Logstash和Kibana。这里主要说一下使用logstash收集Docker容器里应用的日志。

容器中应用的日志,其生命周期和容器相同。主要要两个去向:标准输出stdout到主机/var/lib/docker/containers//***-json.log文件中,***是应用在容器中的id;写日志到磁盘文件。

主要有以下两种收集方法:1.对于第一种写在容器里面的日志,其路径中的***是id,应用每次在容器里跑起来其id是不同的,这样不容易确定日志的路径。我们需要将应用的日志输出到固定目录并通过 -V 命令挂载出来到主机磁盘(转化成第二种日志去向),这样我们就可以通过Logstash采集宿主机固定目录的日志。2.另外一种方式我看阿里云也在采用,运行一个日志收集容器。借助docker的Volume功能。在host机器上开辟一个固定目录D;产生日志的容器将日志文件所在目录mount到D目录下的子目录中;收集日志的容器再把目录D mount到自己容器内。分享一下阿里云案例链接:https://yq.aliyun.com/articles/303

猜你喜欢

转载自blog.csdn.net/qq_32447321/article/details/86533239
今日推荐