Apple M1处理器,七核核心显卡,视网膜显示屏,妙控背光键盘
参考价
¥
7999-9799
优惠直达
M1|集显
8GB|256GB
屏幕尺寸
13.3英寸 2560x1600
笔记本重量
1.29Kg
内存容量
8GB
硬盘容量
256GB SSD固态硬盘
操作系统
Mac OS
进一步理解Docker容器日志
平时,我们使用docker logs命令可以随时查看Docker容器内部应用程序运行时所产生的日志,这样可以避免首先进入Docker容器,再打开应用程序的日志文件的过程。
可见,docker logs是一种相当便捷的工具。 docker logs会监控容器中操作系统的标准输出设备(STDOUT),一旦STDOUT有数据产生,就会将这些数据传输到另一个“设备”中,该设备在Docker的世界中被称为“日志驱动(Logging Driver)”。
为了便于研究,我们以官方提供的Nginx镜像为例,来初步学习dockerlogs的基本技法。首先我们要做的是,通过以下Docker命令启动Nginx容器。
docker run -d -p 80:80 --name nginx nginx
我们启动了一个Nginx容器,该容器中的Nginx进程在后台运行(d),对外暴露了一个80端口,同时也映射到容器内部的80端口(p80:80),该容器的名称为nginx( 。打开浏览器,在地址栏中发送网页链接请求(80端口可以省略不写),可以立即看到Nginx的首页。
随后我们使用docker logs命令,查看Nginx容器的日志:
docker logs -f nginx
具体执行结果如图一所示,我们监控日志尾部(f),此后在浏览器中刷新几下,同时观察到Docker日志也在同步输出,此时输出的日志类似下面这样。
172.17.0.1 - - [27/Dec/2022:05:12:20 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36" "-"
很明显,这是Nginx收集的浏览器信息,此外还包括了客户端IP、请求时间、请求状态等信息。只要Docker容器内部的应用程序在控制台中有日志输出,就能通过docker logs命令来查看相应的日志。
Docker是怎样做到的呢?或者说,所谓的Docker日志驱动,到底做了些什么事情呢?我们带着这些问题继续探索。
我们使用docker info命令,可以看到Docker容器的相关信息,其中有一项叫LoggingDriver的字段:
docker info | grep 'Logging Driver'
通过输入以上命令,将得到Docker当前所设置的日志驱动类型,它就是jsonfile。顾名思义,jsonfile表示JSON文件,也就是说,Docker容器内部的应用程序所输出的日志,将自动写入一个JSON文件中。那么这个JSON日志文件到底存储在哪里呢?
通过学习Docker官方文档可知,有一个/var/lib/docker目录用于存放Docker的系统文件。进入该目录,就能看到一个名为containers的目录,这个目录中存放的就是当前运行的Docker容器,那么这个JSON日志文件是否也在containers目录中呢?
进入/var/lib/docker/containers/<container_id>目录,就会看到一个名为<container_id>json.log的文件,它就是我们要寻找的JSON日志文件了.
如图3 所示,这里的containerId 是1a0fe, 目录下也存在一个1a0fe20e760f71a05f310974bad80055e6d677e4ef0fe64722895f876d725d27-json.log文件。
原来如此,当我们通过docker logs命令所看到的日志,实际上就是解析这个JSON日志文件后的输出。
既然应用程序的日志可以写入JSON文件中,那么也能写入其他日志驱动中,jsonfile只是Docker日志驱动的一种默认选项,Docker已为我们提供了大量的日志驱动类型。
●none:容器不输出任何日志
●jsonfile:容器输出的日志以JSON格式写入文件中(默认)
●syslog:容器输出的日志写入宿主机的Syslog中
●journald:容器输出的日志写入宿主机的Journald中
●fluentd:容器输出的日志写入宿主机的Fluentd中
。。。
在以上众多日志驱动类型中,最为常用的是Syslog,因为Syslog是Linux的日志系统,很多日志分析工具都可以从Syslog中获取日志,比如流行的ELK框架。
#Docker##Docker 日志##Docker 日志文件##自定义Docker日志##Docker json-file#
点赞关注我,分享越南有趣事#苹果昨晚发布了MacBook air 和MacBook Pro,搭载M2芯片性能更加强大,功耗更低,这台是我在越南买的MacBook air 2020 M1 ,花了21,500,000越南盾,折合人民币约5970元,大家觉得划算吗?是不是觉得早知道等MacBook Air 2022出来再买更划算呢?#MacBook Air# #Mac OS 13 Ventura# #越南# 越南MacBook air
【RealityOS 商标亮相,苹果 AR/VR 头戴式设备即将发布?】
9to5Mac 报道,网友 Parker Ortolani 发现有一家名为 Realityo Systems LLC 在美国专利商标局注册了商标「RealityOS」,随后其他网友也发现该公司还在其他国家或地区申请了同一个商标。之前有爆料称 RealityOS 是苹果 AR/VR 设备的操作系统名称。
一般来说苹果为了保密,会提前注册一些空壳公司来申请商标,等产品正式发布之后再将商标转移。例如去年苹果就使用名为 Yosemite Research LLC 的公司注册了 macOS 新系统名称「Monterey」的商标。而今天发现的Realityo Systems LLC 和 Yosemite Research LLC 这两家公司的注册地址都指向了商标服务公司 Corporation Trust Center,苹果正是其客户之一。
这些种种迹象都意味着苹果很可能要在 WWDC22 上发布旗下首款 AR/VR 头戴式设备,已经很期待了!一周之后见真章!