Docker日志:它们是什么以及如何使用(附示例)
如果在Docker容器中运行的应用程序始终表现正确,那么生活会简单得多。当事情不可避免地开始出错时,您需要诊断信息来确定如何出错以及为什么出错。
如果您是系统管理员并负责构建和管理容器化应用程序,docker日志记录对您来说是最重要的。处理日志是帮助揭示错误、帮助调试和优化应用程序性能的最佳方法之一。
相关:什么是Docker容器:初学者入门指南
因此,让我们深入了解Docker日志及其日志文件。
Docker日志是什么
首先,您需要了解日志是如何生成的。
简而言之
Docker日志是运行容器的控制台输出
。它们提供
标准输出
(标准输出)和
标准错误
(标准错误)在容器内运行的进程流。
在一个容器里,Docker看着
标准输出
和
标准错误
并收集流的输出,流是容器日志的来源。
相关:在Ubuntu上安装Docker:分步指南
在Docker中登录与在其他地方登录不同。在Docker中,所有写入的内容
标准输出
和
标准错误
流被隐式地发送到日志驱动程序,该驱动程序提供了访问这些流并将日志发送到文件的机制。
Docker日志的默认驱动程序是“json文件”,它以json格式将日志写入Docker主机上的本地文件。

容器中存储的任何日志在终止或关闭时都将被删除。
下面的示例显示了使用JSON文件驱动程序创建的JSON日志:
{
日志
:
“正在为用户webdav添加密码\n”
,
流动
:
“stderr”
,
时间
:
“2021-08-0115:58:05.329724917Z”
}
代码语言:
JSON/JON-带注释
(
json
)
您可以使用以下命令查找当前默认的日志记录驱动程序:
docker信息--格式
“{{.LoggingDriver}}”
代码语言:
JavaScript
(
javascript
)
json文件
Docker日志存储在哪里
如果使用默认的日志格式JSON,则可以在
/var/lib/docker/contences/
目录。
/var/lib/docker/contences/
<
容器id
>
/
<
容器id
>
-json.log
代码语言:
HTML,XML
(
xml
)
在上面显示的路径中
是吗
身份证件
运行容器的。如果你不确定
身份证件
与哪个容器相关,可以运行
码头集装箱ls
命令列出所有正在运行的容器。
码头集装箱ls
CONTAINER ID IMAGE命令创建的状态端口名称
99e9
b6f4b1a3 jbbodart/alpine nginx webdav
“/bin/sh-c'/entryp…”
51
分钟前向上
51
分钟
0
.0
.0
:
80
->
80
/tcp,:::
80
->
80
/tcp-webdav
代码语言:
JavaScript
(
javascript
)
如何查看Docker日志
假设您正在运行一个容器,并希望访问该容器的Docker日志。你怎样才能完成这项任务?
首先,可以使用以下命令检查当前运行的容器:
码头工人
<
元
http当量
=
“内容类型”
所容纳之物
=
“text/html;charset=utf-8”
>
容器ls
代码语言:
HTML,XML
(
xml
)
<
元
http当量
=
“内容类型”
所容纳之物
=
“text/html;charset=utf-8”
>
CONTAINER ID IMAGE命令创建的状态端口名称
99e9b6f4b1a3 jbbodart/alpine nginx webdav“/bin/sh-c'/entryp…”58分钟前向上58分钟0.0.0.0:80->80/tcp,::80->80/tcp webdav
代码语言:
HTML,XML
(
xml
)
此命令打印正在运行的容器的列表。在我们的情况下,最重要的参数是
容器ID
,我们将在下一步中使用。
现在您确定您的容器正在运行,让我们使用
容器ID
查看其所有日志。
查看Docker日志
要查询容器日志,请使用
码头工人日志
命令
它是一个显示运行中的容器所记录的所有信息的命令。与
docker日志CONTAINER_ID
,您可以看到由唯一ID标识的特定容器广播的所有日志。
码头工人日志99e9b6f4b1a3
172.17
.0
1.
-webdav[
01
八月
2021
:
18
:
38
:
39
+
0000
]
“获取/favicon.ico HTTP/1.1”
404
555
"http://localhost/"
Mozilla/5.0(X11;Linux x86_64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/92.4415.107 Safari/537.36
2021
/
08
/
01
18
:
39
:
09
[信息]
10
#10:*3客户端172.17.0.1关闭保活连接
172.17
.0
1.
-webdav[
01
八月
2021
:
18
:
39
:
09
+
0000
]
“PUT/docker-logs.png HTTP/1.1”
201
25
"-"
“卷曲/7.78.0”
代码语言:
PHP
(
php
)
如何遵循容器日志
尽管这将向您显示日志,但它不允许您查看连续的日志输出。相反,使用
f
标志将跟随Docker容器日志。
docker日志-f 99e9b6f4b1a3
仅显示最新的行
在某些情况下,您只想快速验证容器的最新10个日志行。您可以使用
尾
选项指定要查看的日志数。
docker日志-尾10
<
元
http当量
=
“内容类型”
所容纳之物
=
“text/html;charset=utf-8”
>
99e9b6f4b1a3
代码语言:
HTML,XML
(
xml
)
查看自特定日期以来的日志
当您检查Docker日志时,您通常希望将输出限制在给定的行数内,而不是被信息淹没。
如果您想查看从特定时间点到现在的日志
自从
选项有助于完成此任务。
例如,要查看最后20分钟的容器日志,您需要写道:
<
元
http当量
=
“内容类型”
所容纳之物
=
“text/html;charset=utf-8”
>
码头工人日志——20米以来
<
元
http当量
=
“内容类型”
所容纳之物
=
“text/html;charset=utf-8”
>
99e9b6f4b1a3
代码语言:
HTML,XML
(
xml
)
您也可以编写日期格式,只要它是以ISO格式提供的:
<
元
http当量
=
“内容类型”
所容纳之物
=
“text/html;charset=utf-8”
>
docker日志——自2021-07-19T10:00:00
<
元
http当量
=
“内容类型”
所容纳之物
=
“text/html;charset=utf-8”
>
99e9b6f4b1a3
代码语言:
HTML,XML
(
xml
)
查看特定日期之前的日志
要查看特定日期之前的日志,请使用
直到
带有日期或持续时间的选项。
<
元
http当量
=
“内容类型”
所容纳之物
=
“text/html;charset=utf-8”
>
docker日志--直到
<
元
http当量
=
“内容类型”
所容纳之物
=
“text/html;charset=utf-8”
>
20米
<
元
http当量
=
“内容类型”
所容纳之物
=
“text/html;charset=utf-8”
>
99e9b6f4b1a3
代码语言:
HTML,XML
(
xml
)
或者,您也可以像以前一样为提供日期格式
自从
选项
<
元
http当量
=
“内容类型”
所容纳之物
=
“text/html;charset=utf-8”
>
docker日志--直到
<
元
http当量
=
“内容类型”
所容纳之物
=
“text/html;charset=utf-8”
>
<
元
http当量
=
“内容类型”
所容纳之物
=
“text/html;charset=utf-8”
>
2021-07-19T10:00
<
元
http当量
=
“内容类型”
所容纳之物
=
“text/html;charset=utf-8”
>
99e9b6f4b1a3
代码语言:
HTML,XML
(
xml
)
结论
Docker日志可以帮助您更快地调试和解决问题。在本教程中,您了解了它们是什么以及如何检查它们,并使用选项对它们进行监视。
如果您有任何问题或反馈,请随时留言。
查找器搜索在Mac上不起作用?试试这7种方法
Finder是探索macOS的一站式解决方案。把它看作Mac版的文件资源管理器(Windows的默认文件管理应用程序)并没有错。 当天的视频 滚动以继续浏览内容 它的快捷搜索选项是众多方便工具之一,它可以帮助你查找Mac上的所有文件。但和应用程序一样,Finder也会出现错误和故障。其中一种可能的表现方式是搜索功能出现问题,导致你在Mac上找不到任何东西。 那么,如何修复Finder搜索工具呢?让
如何使用Mini ISO在您的PC上安装Ubuntu
将Linux安装到你的PC硬件上的方法不在少数,但使用Ubuntu,你早就需要一次性下载一个大小达数GB的ISO文件。 如果您正遭受大型USB棒短缺的困扰,Ubuntu mini ISO仅占用100MB左右。以下是如何获得Mini ISO并使用它来安装Ubuntu。 为什么使用迷你ISO安装Ubuntu Ubuntu最大的优点之一就是它是免费的。你可以自由地查看和修改源代码,并且可以自由地将其重新
布吉桌面2024年路线图揭晓
随着新的一年的到来,Budgie Desktop团队为其未来的发展制定了一个雄心勃勃的计划,重点关注两大史诗:Wayland的Budgie 10的完成和Budgie 11的启动。 布吉10:Wayland过渡和增强 2024年的主要焦点是在Wayland上发布Budgie 10,旨在使其适合日常使用。 该团队已计划在今年年初发布Budgie 10.9,包括libxfce4windowing的初步集
10个修复当你不能在你的iPhone上打电话
你有没有试着用iPhone打电话,但打不通?您可能会发现您听不到呼出拨号音或呼叫尝试突然结束。您的屏幕还可能显示一条错误消息,称 呼叫失败。 无论原因是什么,这里有所有不同的方法来修复你的iPhone时,它不允许你打电话。 1.关闭飞行模式 当您的iPhone上启用飞行模式时,该功能将禁用传入和传出的文本和呼叫。如果你在飞机上,这对防止干扰很重要。但是,如果你现在不需要使用飞机模式,请确保它被关闭
Gentoo Linux:高级用户的强大Distro
它与其他Linux发行版不同。在更时尚的发行版担心快速安装和易用性的地方,Gentoo担心高效编译和定制程度。 因此,GentooLinux是开源世界中最先进的操作系统之一。这是了解计算机工作原理的好方法。它是一个独特的、不同的、功能强大的Linux发行版。 Gentoo是一个简单的极简主义Linux发行版,以难以使用而闻名,也是最难安装的发行版之一。然而,它是以免费开源软件的形式分发的,并遵循滚