一、通过 docker logs 命令查看实时日志
docker logs 命令可以用来查看容器的实时日志,它可以打印出容器的标准输出和标准错误输出。该命令的基本使用格式为:docker logs [OPTIONS] CONTAINER。在使用该命令时,需要指定要查看日志的容器名称或容器 ID。下面是一些常用的 OPTIONS 参数:

1. -f, --follow:跟踪容器的实时日志输出。
2. --tail:显示最后几行日志,默认为 all。
3. --since:显示指定时间之后的日志。
4. --until:显示指定时间之前的日志。

下面是一个使用 docker logs 命令查看实时日志的示例:


$ docker logs -f mycontainer
Plain text

二、在 Docker Compose 中查看实时日志
如果你使用 Docker Compose 来管理容器,可以通过在 docker-compose.yml 文件中指定 logging 配置来查看实时日志。logging 配置用来定义容器的日志驱动、日志驱动的配置参数等信息。下面是一个使用 Docker Compose 查看实时日志的示例:


version: "3"
services:
  myservice:
    image: myimage
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
Plain text

这个示例中,我们为 myservice 服务指定了日志驱动为 json-file,设置了最大日志文件大小为 10MB,最大文件数量为 3 个。

三、使用 ELK 堆栈查看实时日志
如果你的应用程序需要处理大量的日志数据,建议使用 ELK 堆栈(Elasticsearch、Logstash 和 Kibana)来集中管理和查看实时日志。ELK 堆栈提供了强大的日志处理和可视化工具,可以帮助你更好地理解应用程序的运行情况。

1. Elasticsearch:用于存储和索引日志数据,提供高性能的全文搜索和分析能力。
2. Logstash:用于收集、过滤和转发日志数据,支持多种数据源和目标,可以进行实时处理和转换。
3. Kibana:用于可视化和分析日志数据,提供直观的界面和仪表盘功能,方便用户进行日志查询和监控。

在使用 ELK 堆栈时,需要将应用程序的日志数据发送到 Logstash 进行处理,然后由 Logstash 将处理后的数据存储到 Elasticsearch 中。最后,使用 Kibana 进行日志数据的可视化和分析。通过 ELK 堆栈,你可以轻松地查看和分析容器的实时日志,并进行更深入的操作和监控。