文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Docker是在哪里保存日志文件的

2023-06-22 05:37

关注

本篇文章给大家分享的是有关Docker是在哪里保存日志文件的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

调试大多数 Linux 程序通常涉及检查日志文件,这可能是一个复杂的过程。但是,在 Docker 下的容器化环境中运行时,您需要使用更具体的工具来调试生产中的应用程序。

日志存储在哪里?

简单的答案是 Docker 将容器日志存储在其主要存储位置/var/lib/docker/. 每个容器都有一个特定于其 ID 的日志(完整 ID,而不是通常显示的缩短的 ID),您可以像这样访问它:

/var/lib/docker/containers/ID/ID-json.log

这 就是它们的存储位置,但由于它们采用 JSON 格式,因此不易读取,并且必须使用完整的容器 ID 很烦人。Docker 提供了一个内置命令来查看它们:

docker logs -f e4bd48ef3103

在这里,该-f 标志将保持提示打开并“关注”文件中的任何新条目。您还可以使用–tail 该文件,或使用–timestamps 来显示日志时间,或使用–until并 --since 根据时间进行过滤。

如果您使用 Docker Compose,则可以使用其中的 log 命令轻松查看所有日志:

docker-compose  logs

但是,您会注意到的一件事是 STDOUT 和 STDERR,它们对很多事情都很有用,但只显示 Docker 文件中“CMD”指定的入口点的控制台输出。许多应用程序都有自己的专用日志系统,这些系统通常会记录到/var/log/nginx/access.log. 仍然可以通过 Docker 从主机端访问这样的日志。

从容器内的应用程序查看日志

根据容器的不同,这可能不是必需的。例如,默认的 NGINX 容器设置为将其 Docker 日志发送到 STDOUT 以简化日志检查。它使用/dev/stdout 指向日志文件的符号链接来执行此操作,您可以为容器设置类似的内容。

RUN ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log

但是,如果您想查看容器内的特定文件,您可以这样做。Docker 提供的exec -it 命令允许您在任何正在运行的 Docker 进程中运行任何命令。使用它,您可以在 Docker 容器内跟踪日志文件:

docker exec -it e4bd48ef3103 tail -f log.txt

因为这允许您运行任何命令,所以您可以使用journalctl 或任何其他您想要的调试策略,只要您以docker exec -it. /bin/bash 如果你想跳进去四处逛逛,你甚至可以跑步。

一个更适合主机服务的永久性解决方案是使用 Docker 卷挂载。您可以将类似目录绑定/var/log/nginx 到主机可见的卷。首先,创建一个新卷:

docker volume create nginx-logs

并使用以下命令运行容器–mount:

docker run -d \--name devtest \--mount source=nginx-logs,target=/var/log/nginx \nginx:latest

如果您使用 Docker Compose,则该过程可以自动化:

version: "3.0"services:  web:    image: nginx:latest    ports:      - "80:80"    volumes:      - nginx-logs:/var/log/nginx/volumes:  nginx-logs:

这样,主机上的任何日志聚合服务都可以直接摄取日志文件。

查看 Docker 守护进程日志

如果您想查看服务器上整个 Docker 服务的特定日志,而不是任何特定的容器化应用程序,您需要查看journalctl 日志:

sudo journalctl -fu docker.service

这是它在大多数系统上的存储位置,但在某些系统上的位置不同:

以上就是Docker是在哪里保存日志文件的,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯