首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Windows 10和Docker容器日志/ Docker日志驱动程序

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

Stack Overflow用户
提问于 2019-06-09 20:10:19
回答 7查看 32.9K关注 0票数 19

我使用Windows 10与本机对接安装。

我在找码头保存集装箱日志的地点。

在Linux中,Docker容器日志文件位于以下位置:

代码语言:javascript
运行
复制
/var/lib/docker/containers/container-id/container-id-json.log

但是在windows 10里哪里可以找到它呢?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2019-06-09 20:25:02

首先检查这些日志是否在(如建议在这里):

代码语言:javascript
运行
复制
C:\ProgramData\docker\containers\[container_ID]\[container_ID]-json.log

码头C:\ProgramData\dockerdocker info报告的Root Dir

对于通过Hyper-v进行的Docker,请检查"如何删除Docker容器日志文件(Windows或Linux)“是否可以帮助(来自乔恩·加朗):

  1. 运行码头检查以找到您的docker日志文件位置
  2. 找到“”值,我的是/var/lib/docker

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

代码语言:javascript
运行
复制
find /var/lib/docker/containers/ -type f -name "*.log"

您在此图像中看到的命令基于"如何在Windows环境下将SSH引入码头VM (MobyLinuxVM)

从技术上讲,我们不会将SSH放到VM中,我们将创建一个具有完全根访问权限的容器,然后从那里访问文件系统。

  • 获取访问Docker Daemon的容器
  • 运行具有完全根访问权限的容器
  • 切换到主机文件系统

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

代码语言:javascript
运行
复制
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命令,您应该找到日志。

票数 8
EN

Stack Overflow用户

发布于 2021-02-14 15:35:00

对于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_ARTIFACTS\containers\[Your_container_ID]\[Your_container_ID]-json.log

以下是一个例子:

票数 27
EN

Stack Overflow用户

发布于 2021-08-26 10:50:05

对于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

如何获取containerID:

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

如何获取volumeID:

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

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56518032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档