by Devin Yang

建立于: 7年前 ( 更新: 7年前 )

Docker内建相当多的日志机制,帮我们取得在container内运行的服务信息。
这些机制(mechanisms)我们通常称为logging drivers.

如果要变更默认的日志日志驱动进程(logging drivers),可在daemon.json文档设置login-driver进程的名称。这个文件通常放在linux系统的/etc/docker目录下,或在Windows则是C:\ProgramData\docker\config\
Docker默认的logging driver是json-file,把他变更为syslog。


在MacOS的系统,可以由Docker喜好设置进行设更:
daemon.json
重启后会发觉日志日志变到了syslog了。


关於更多的Docker Deamon组态设置,可以参考官方连结:
https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file

用命令来查询默认的Logging Driver.
docker info |grep Logging

下方为支持的Loggin drivers列表:
Driver Description
none No logs will be available for the container and  docker logs  will not return any output.
json-file The logs are formatted as JSON. The default logging driver for Docker.
syslog Writes logging messages to the  syslog  facility. The  syslog daemon must be running on the host machine.
journald Writes log messages to  journald . The  journald  daemon must be running on the host machine.
gelf Writes log messages to a Graylog Extended Log Format (GELF) endpoint such as Graylog or Logstash.
fluentd Writes log messages to  fluentd  (forward input). The  fluentd daemon must be running on the host machine.
awslogs Writes log messages to Amazon CloudWatch Logs.
splunk Writes log messages to  splunk  using the HTTP Event Collector.
etwlogs Writes log messages as Event Tracing for Windows (ETW) events. Only available on Windows platforms.
gcplogs Writes log messages to Google Cloud Platform (GCP) Logging.
logentries Writes log messages to Rapid7 Logentries.

我可以在用docker run命令创建container时,
或是docker-compose启动时,指定要使用的logging driver.
举例,我的Synolog Nas上的dokcer,莫明跑了一个奇怪的logging driver叫db。(下图)


我想让我的docker-compose启动时,运行json-file。
就可以补上
loggin:
  driver: json-file

 

Tags: docker

Devin Yang

文章内容无法一一说明,如果您有什么不了解处,欢印提问哦:)

No Comment

Post your comment

需要登入才可留言!

类似文章


docker,laravel

[D-Laravel]./console node

进行Laravel开发时,有时我们会需要透过npm安装nodejs的包,但是偏偏我们系统中的Node又不够新。 或许因某些因素没法升级,例如要跑旧版的nodejs进程等。 其实我们可以透过简单的命令,用docker,让我们就能使用最新版本的node image来挂载host端的/sites数据夹罗。 这么一来我们就可以随时运行新版本的npm命令啦。

docker

如何简单的用Docker创建internet命令行的测速进程呢?

如何简单的用Docker创建internet命令行的测速进程呢? 这里我们使用python的进程speedtest-cli 会用Docker主要的用例,例如我想要在我的NAS内进行测速, 虽然我的NAS内有python,但没有pip命令,这时用Docker感觉上安全很多, 当然前题您的NAS需能跑Docker:)。 或者,我在MacOS的环境,我不想安装speedtest-cli到我的MacOS中。 这时用Docker简单的自建简单的运行环境还满不错的。

docker,cli

Docker容器格式化显示

我觉的如果要写一些自动化功能,或许能够格式化的输出容器内容还满有用的。以下一些Docker容器格式化显示命令的参考范例