广告
返回顶部
首页 > 资讯 > 精选 >Docker是在哪里保存日志文件的
  • 326
分享到

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

2023-06-22 05:06:02 326人浏览 安东尼
摘要

本篇文章给大家分享的是有关Docker是在哪里保存日志文件的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。调试大多数 linux 程序通常涉及检查日志文件,这可能是一个复杂的过

本篇文章给大家分享的是有关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

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

  • 亚马逊Linux: /var/log/docker

  • Centos/RHEL: /var/log/messages | grep docker

  • 苹果: ~/Library/Containers/com.docker.docker/Data/log/vm/dockerd.log

  • windows: AppData\Roaming\Docker\log\vm\dockerd.log 

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

--结束END--

本文标题: Docker是在哪里保存日志文件的

本文链接: https://www.lsjlt.com/news/302783.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Docker是在哪里保存日志文件的
    本篇文章给大家分享的是有关Docker是在哪里保存日志文件的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。调试大多数 Linux 程序通常涉及检查日志文件,这可能是一个复杂的过...
    99+
    2023-06-22
  • 详解Docker在哪里保存日志文件
    目录日志存储在哪里?从容器内的应用程序查看日志查看 Docker 守护进程日志调试大多数 Linux 程序通常涉及检查日志文件,这可能是一个复杂的过程。但是,在 Docker 下的容...
    99+
    2022-11-12
  • laravel的日志文件在哪
    laravel的日志文件在项目的“storage/logs”目录下。在这个目录中,可以找到Laravel应用程序运行时产生的所有日志文件,每个日志文件都具有日期为文件名的格式,例如“laravel-2022-01-01.log”。通过使用L...
    99+
    2023-07-11
  • redis文件默认保存在哪里
    redis文件默认保存在dump.rdb文件中,可通过配置文件查看dump.rdb,例如:# The filename wherre to dump the DBdbfilename dump.rdb //文件名# The working ...
    99+
    2022-10-16
  • 运行在Docker里的SpringBoot应用是如何查看记录在文件系统的日志
    运行在Docker里的SpringBoot应用是如何查看记录在文件系统的日志,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。我有一个SpringBoot应用,将其...
    99+
    2023-06-04
  • mysql日志文件的位置在哪
    小编给大家分享一下mysql日志文件的位置在哪,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!查找错误日志文件路径show variables like ‘log_error’;在mysql数据...
    99+
    2022-10-18
  • 怎么在Springboot项目中保存本地系统日志文件
    今天就跟大家聊聊有关怎么在Springboot项目中保存本地系统日志文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 如下是集成,按步骤来:在项目的resources目录...
    99+
    2023-06-14
  • 亚马逊的案件日志在哪里
    公司内部系统:您可以访问位于公司内部的系统,如Microsoft Azure或AWS,以获取相关案件日志。这些系统通常具有访问权限和审查功能,可以让您查看案件日志中的详细信息。 外部网站:您可以访问在线法律数据库或商业法律数据库,如Wes...
    99+
    2023-10-27
    亚马逊 案件 日志
  • php 关闭提示保存文件在哪里
    在使用PHP进行文件处理的过程中,可能会遇到提示“保存文件在哪里”的问题。这是因为PHP的文件处理函数通常在处理文件时会需要指定文件的保存路径,如果没有指定,PHP会自动调用一个保存文件的函数。这个函数会将文件保存在当前目录下,并以默认文件...
    99+
    2023-05-24
  • Springboot项目保存本地系统日志文件的实现方法
    背景:我们都知道springboot默认日志是打印在控制台中的,不会以文件的形式进行保存。那么日后系统上线肯定是有需要对日志进行定位分析问题的,那么如何实现将控制台输出的日志保存起来...
    99+
    2022-11-12
  • linux的vimrc存放在哪个文件里
    这篇文章主要讲解了“linux的vimrc存放在哪个文件里”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux的vimrc存放在哪个文件里”吧! ...
    99+
    2023-03-10
    linux vimrc
  • 如何在 Go 语言中实现一个二维码生成器,并将生成日志保存到文件?
    在本文中,我们将探讨如何使用 Go 语言实现一个二维码生成器,并将生成日志保存到文件。二维码是一种二维条码,它可以存储大量信息,并且可以在很小的空间内进行存储。在日常生活中,二维码可以用于各种场合,如支付、门票、商业广告等。 Go 语言提供...
    99+
    2023-07-26
    二维码 日志 打包
  • macbook百度网盘下载保存的文件在哪❓找不到
    困扰我好久的问题终于被我解决了!!! 之前在AppStore里下载百度网盘,然后在百度网盘里下载文件,除了能直接打开以后,怎么都找不到文件位置,后来我终于知道了!! 是因为在AppStore里下载的百度网盘根本不是mac版的, 如果你想下载...
    99+
    2023-08-16
    macos 百度网盘
  • Win8.1系统录音文件保存在哪?Win8.1查找录音机录音文件目录的方法
      如果您没有改变过默认的路径,您可以尝试在该文件夹中查看:   默认路径:C:Users***(用户名)AppDataLocalPackagesMicrosoft.WindowsSoundRecorde...
    99+
    2022-06-04
    文件 录音机 目录
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作