Windows 10和Docker容器日志/Docker日志驱动程序

hsgswve4  于 2022-09-19  发布在  Windows
关注(0)|答案(3)|浏览(146)

我使用的是带有本机坞站安装的Windows 10。

我在找码头保存集装箱日志的位置。
在Linux中,Docker Containers日志文件位于以下位置:

/var/lib/docker/containers/container-id/container-id-json.log

但在Windows10中,我在哪里可以找到它?

rta7y2nd

rta7y2nd1#

对于Windows 10 + WSL 2 (Ubuntu 20.04), Docker version 20.10.2, build 2291f61

DOCKER_ARTIFACTS == \\wsl$\docker-desktop-data\version-pack-data\community\docker

容器日志可在以下位置找到

DOCKER_ARTIFACTScontainers[Your_container_ID][Your_container_ID]-json.log

下面是一个例子:

kadbb459

kadbb4592#

首先检查这些日志是否在中(如suggested here):

C:ProgramDatadockercontainers[container_ID][container_ID]-json.log

Docker C:\ProgramData\dockerdocker info报告的Root Dir

关于通过Hyper-v的Docker Linux,请检查How to Delete Docker Container Log Files (Windows or Linux)是否可以提供帮助(来自Jon Gallant):
1.运行Docker Inspect以找到您的Docker日志文件位置
1.找到“Docker Root Dir”值,我的是/var/lib/docker

您的docker日志文件路径应该是/var/lib/docker,但如果不是,请在下面的命令中更改它。

find /var/lib/docker/containers/ -type f -name "*.log"

您在本图中看到的命令基于“How to SSH into the Docker VM (MobyLinuxVM) on Windows
从技术上讲,我们不会通过SSH登录到VM,我们将创建一个具有完全超级用户访问权限的容器,然后从那里访问文件系统。

  • 获取可以访问Docker守护程序的容器
  • 以完全超级用户访问权限运行容器
  • 切换到主机文件系统

打开命令提示符并执行以下命令:

docker run --privileged -it -v /var/run/docker.sock:/var/run/docker.sock jongallant/ubuntu-docker-client 
docker run --net=host --ipc=host --uts=host --pid=host -it --security-opt=seccomp=unconfined --privileged --rm -v /:/host alpine /bin/sh
chroot /host

在那里执行Find命令,您应该会找到日志。

mum43rcc

mum43rcc3#

对于Windows 10 + Docker Desktop version 3.6.0,日志和数据(构件)的虚拟路径是\\wsl$\docker-desktop-data\version-pack-data\community\docker(您可以在资源管理器导航栏中复制/粘贴它)。

日志在\\wsl$\docker-desktop-data\version-pack-data\community\docker\containers\[containerID]\[containerID]-json.logs

数据在\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes\[volumeID]\_data

如何获取容器ID:

您可以通过在命令提示符下运行docker ps来查找container ID(截断)。您也可以通过单击DockerDesktop上容器名称旁边的CLI按钮找到它,ID将出现在将弹出的cmd窗口的标题中。一旦有了id,就可以导航到构件目录下的containers\[containerID](上面的\\wsl$\docker-...)。日志文件的扩展名为.log,其名称中将包含containerID。但请记住,它将是一种丰富的JSON格式,因此不容易阅读。

如何获取volumeID:

要查找容器的数据(例如Kafka Broker主题),您需要找到存储数据的卷的ID。为此,您需要在DockerDesktop中单击容器,然后单击INSPECT(右上角)。然后,您可以向下滚动以查找Mounts配置条目。每个挂载都有一个volumeID(与容器ID不同),该volumeID将是类似于/var/lib/docker/volumes/71f7a5992c58fdcf229c3848acb014712f34fab380bc7c712cf5a0a632fe9110/_data的路径的一部分。这里的volumeID71f7a5992c58fdcf229c3848acb014712f34fab380bc7c712cf5a0a632fe9110。然后,您可以使用volumeID并导航到数据所在的构件目录(上面的\\wsl$\docker-...)下的volumes\[volumeID]

相关问题