Tag: 日志

docker守护程序日志丢失

我正在寻找docker- daemon日志,这是docker客户端和docker 守护进程之间显示信息的日志。 根据这个答案: Docker守护进程日志在哪里? 该日志应该是在/var/log/docker.log boot2docker(我在Windows上运行docker)。 但是,boot2docker已被弃用,并由docker docker-machine取代。 无论如何,我没有上面列出的目录或日志文件。 我甚至没有/ var目录。 在指定path中创build一个上述日志文件之后,守护程序甚至不写入docker.log文件。 有任何想法吗?

当我将一个sinatra应用程序dockerize时,应用程序的日志文件会发生什么?

问这个问题甚至是有道理的,看看容器是一个短暂的对象? 如果应用程序的日志没有被redirect到一个持久的服务(他们不是),他们甚至没有保存在容器的(临时)文件系统?

如何在单个主机中分隔多个容器的日志?

我必须使用相同的应用程序运行多个容器。 但是,日志逻辑在应用程序下,将其写入日志文件。 在这种情况下,如何在不修改应用程序日志代码的情况下,为应用程序分离不同实例的日志。 编辑 我们希望日志是持久的。 我们也希望日志文件存放在主机的同一目录下,如/var/log/app/*.log。 这主要用于与以前的设置保持一致。 我们不能修改日志逻辑就是我们正在testing使用docker。 我们需要该应用程序在docker和正常情况下运行,无需修改代码,只需在docker中添加对testing的支持即可。 目前,我们要使用共享卷,因为所有的应用程序几乎都将开发日志写入文件。

将日志元数据写入rsyslog

我有一个设置泊坞窗容器使用日志logging驱动程序写他们的日志。 目前,来自日志的日志行被转发到主机上运行的dockerd ,但syslog行上的应用程序名称显示为dockerd 。 作为一种解决方法,我希望将日记元数据中的CONTAINER_NAME字段写入syslog中出现的行中,以便在主机的syslog被传送到syslog聚合服务器之后,我可以识别哪个容器写了什么行。 有什么build议么?

在ruby程序中logging到STDOUT(不在Docker中工作)

我正在docker化我的一个ruby应用程序,但我有这个奇怪的logging行为。 它似乎只在程序运行时加载,而不是运行时加载。 当我用docker-compose运行程序(守护进程)时,我所看到的就是这个: Starting custom_daemon_1 Attaching to custom_daemon_1 不过,如果我把一个exit部分的方式,我看到我所有的puts和logger输出。 Starting custom_daemon_1 Attaching to custom_daemon_1 custom_daemon_1 | requires custom_daemon_1 | starting logger custom_daemon_1 | Starting loads custom_daemon_1 | Hello base custom_daemon_1 | Loaded track custom_daemon_1 | Loaded geo custom_daemon_1 | Loaded geo_all custom_daemon_1 | Loaded unique custom_daemon_1 | D, [2016-11-14T13:31:19.295785 #1] DEBUG — : Starting custom_daemon… […]

日志不保存到docker环境中的文件

在我的生产环境production.rb 。 我已经configuration我的日志将被保存到文件: config.logger = Logger.new('log/production.log') 当我在本地运行(通过使用命令行rails s -e production启动服务器)。 一切正常。 但是当我在Docker环境下运行时,我看不到production.log 。 请帮我解决这个问题。

日志级别作为Docker GELF日志logging驱动程序的字段

我想从docker容器获取stdout日志,并将它们发送到ELK堆栈。 到目前为止,我知道Docker中有一个GELF日志logging驱动程序。 然而,我不知道如何parsing消息中的ERROR , WARNING或DEBUG消息,并将它们放入日志消息中的log_level类的新字段中,然后Docker将它们发送给ELK。 日志消息应该是这样的: { "client": "127.0.0.1", "user": "frank", "timestamp": "2000-10-10 13:55:36 -0700", "method": "GET", "uri": "/apache_pb.gif", "protocol": "HTTP/1.0", "status": 200, "size": 2326, "message": "[ERROR] Error connecting to MongoDB", "_logLevel" : "ERROR" } 哪个docker在发送到ELK之前添加了"_logLevel" : "ERROR" 。 谢谢。

Docker JSON文件日志驱动程序写入文件的位置在哪里?

我已经Docker化一个示例应用程序,并已configuration它login到STDOUT。 然后运行容器而不指定logging-driver 。 根据Docker文档,STDOUT应该从容器中收集到一个JSON文件中。 但是在日志文档中没有任何地方告诉你在哪里可以find这个JSON文件! 任何想法如何我可以find这个文件在我的主机上,并检查其内容?

从Docker中的bash中logging:logging器错误:socket / dev / log:没有这样的文件或目录

我正在configurationlogging器到我的脚本 #! /bin/bash alias log="logger -s -t conf_nginx" exec >> /var/log/myscript/file.log exec 2>&1 log "this a log message" 当我正在执行这个脚本时,我只在日志文件中看到这一行 $ cat /var/log/myscript/file.log logger: socket /dev/log: No such file or directory 请帮忙 $cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 9 (stretch)" NAME="Debian GNU/Linux" VERSION_ID="9" VERSION="9 (stretch)" ID=debian HOME_URL="debian.org/" SUPPORT_URL="debian.org/support" BUG_REPORT_URL="bugs.debian.org/"

Ho在Docker容器中写入日志

我做了最简单的C应用程序,只是打印一条消息: #include <stdio.h> #include <unistd.h> int main(){ int i = 0; while(1) { sleep(1); printf("sleeping … %d\n", i++); } } 然后,为它做一个最简单的Dockerfile: FROM fedora USER root WORKDIR /root ADD sleep-play . CMD ["/root/sleep-play"] 然后,尽可能简单地运行该容器: sudo docker build -t sleeping . sudo docker run –name sleeping -d sleeping 最后,我期待看到我的标准输出, 但没有任何反应 : sudo docker logs -f sleeping ## […]