您的位置:

如何查看Docker日志

一、查看Docker日志命令

Docker是一种容器化技术,使用它的过程中需要查看Docker的日志输出来调试或解决问题。查看Docker的日志有以下几种方式:

(1)使用docker logs命令。

(2)利用日志转发服务,如Fluentd、Logspout。

(3)手动查看Docker容器内部的日志文件。

docker logs [OPTIONS] CONTAINER

使用docker logs命令可以查看特定Docker容器内部的日志。其中,OPTIONS参数中有以下内容:

(1) -f:跟随日志输出。

(2) --tail:指定输出的日志行数。

(3) --since:查询指定时间之后的日志。

例如,查看容器my_container的最后10条日志:

docker logs --tail 10 my_container

二、查看Docker容器日志

当Docker容器出现问题时,通过查看其日志可以帮助我们找到问题。下面介绍如何查看Docker容器的日志。

第一种方式是使用docker logs命令,如上所述。

第二种方式是手动查看容器内部的日志文件。通过进入Docker容器,查看容器内部的日志文件,可以更加细致地查看容器的日志。方法如下:

docker exec -it CONTAINER bash

该命令的含义是在特定的Docker容器中启动一个交互式的bash终端。通过这个bash终端,可以像在普通Linux上一样操作容器内部。

进入容器后,可以查看容器内部的日志文件。

tail -f /var/log/syslog

三、查看Docker日志100行命令

为了检查容器的最后日志,我们可以使用以下命令查看容器的最后100行日志。

docker logs -f --tail 100 [container_name]

此命令将给出日志的最后100行,并将持续监视该容器的指定输出。

四、查看Docker日志大小

Docker容器的日志可以变得非常大,并占满文件系统。如果容器运行时间很长,日志大小可能会很大。因此,为了避免过多的负载和满磁盘的情况发生,需要在适当的时候清理或轮询Docker日志。

为了查看Docker容器的日志大小,我们可以使用以下命令:

du -sh /var/lib/docker/containers/[容器ID]/[容器ID]-json.log

该命令将输出容器日志文件的大小。

五、查看Docker日志位置

如果想查看Docker容器的日志文件位置,可以使用以下命令找到容器日志所在的文件位置:

docker inspect --format='{{.LogPath}}' [container_name_or_id]

该命令将给出容器日志的完整路径。

六、查看Docker日志策略未生效

当我们在Docker Compose中配置了Logging选项,但日志策略未生效时,需要检查是否可能与主机上的Logging Driver相关。在Linux系统上,我们需要配置rsyslog守护进程来监听Docker容器发出的日志数据。

使用以下命令对主机的logging driver进行检查:

docker info --format '{{.LoggingDriver}}'

要使Docker Compose中的Logging选项生效,必须重启Docker服务:

sudo service docker restart

七、Docker实时查看日志

当我们需要查看Docker容器的实时日志时,可以使用以下命令:

docker logs --follow [container_name]

该命令将输出容器的日志,直到使用CTRL+C中断为止。

八、Docker查看备份日志

在Docker容器中备份已生成的日志很重要,以便在需要时进行恢复。为方便起见,我们可以将容器日志直接发送到外部日志收集器,如ELK或Graylog,并启用备份和恢复功能。

Docker推荐使用Fluentd或Logspout来收集和转发Docker日志。

使用以下命令将容器的日志发送到Fluentd:

docker run -d --log-driver=fluentd --log-opt fluentd-address=localhost:24224 --log-opt tag="{{.Name}}" your_image

Fluentd将从如果指定的地址接收Docker日志,并将其发送到Elasticsearch或其他数据存储中进行增量备份。

九、Docker启动日志

Docker引擎的启动日志有助于检查Docker配置是否有误。启动日志可用于查看如何启动Docker引擎,以供调试或问题解决使用。

Docker启动日志默认存储在/var/log/下。要查看Docker引擎的启动日志,请键入以下命令:

sudo journalctl -u docker.service

该命令将输出启动日志。