我使用的是带有本机坞站安装的Windows 10。
我在找码头保存集装箱日志的位置。在Linux中,Docker Containers日志文件位于以下位置:
/var/lib/docker/containers/container-id/container-id-json.log
但在Windows10中,我在哪里可以找到它?
rta7y2nd1#
对于Windows 10 + WSL 2 (Ubuntu 20.04), Docker version 20.10.2, build 2291f61
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 == \\wsl$\docker-desktop-data\version-pack-data\community\docker
容器日志可在以下位置找到
DOCKER_ARTIFACTScontainers[Your_container_ID][Your_container_ID]-json.log
下面是一个例子:
kadbb4592#
首先检查这些日志是否在中(如suggested here):
C:ProgramDatadockercontainers[container_ID][container_ID]-json.log
Docker C:\ProgramData\docker是docker info报告的Root Dir。
C:\ProgramData\docker
docker 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,但如果不是,请在下面的命令中更改它。
/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 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命令,您应该会找到日志。
mum43rcc3#
对于Windows 10 + Docker Desktop version 3.6.0,日志和数据(构件)的虚拟路径是\\wsl$\docker-desktop-data\version-pack-data\community\docker(您可以在资源管理器导航栏中复制/粘贴它)。
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\containers\[containerID]\[containerID]-json.logs
数据在\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes\[volumeID]\_data下
\\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格式,因此不容易阅读。
docker ps
container ID
CLI
containers\[containerID]
\\wsl$\docker-...
.log
containerID
如何获取volumeID:
要查找容器的数据(例如Kafka Broker主题),您需要找到存储数据的卷的ID。为此,您需要在DockerDesktop中单击容器,然后单击INSPECT(右上角)。然后,您可以向下滚动以查找Mounts配置条目。每个挂载都有一个volumeID(与容器ID不同),该volumeID将是类似于/var/lib/docker/volumes/71f7a5992c58fdcf229c3848acb014712f34fab380bc7c712cf5a0a632fe9110/_data的路径的一部分。这里的volumeID是71f7a5992c58fdcf229c3848acb014712f34fab380bc7c712cf5a0a632fe9110。然后,您可以使用volumeID并导航到数据所在的构件目录(上面的\\wsl$\docker-...)下的volumes\[volumeID]。
INSPECT
Mounts
/var/lib/docker/volumes/71f7a5992c58fdcf229c3848acb014712f34fab380bc7c712cf5a0a632fe9110/_data
volumeID
71f7a5992c58fdcf229c3848acb014712f34fab380bc7c712cf5a0a632fe9110
volumes\[volumeID]
3条答案
按热度按时间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
下面是一个例子:
kadbb4592#
首先检查这些日志是否在中(如suggested here):
Docker
C:\ProgramData\docker
是docker 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
,但如果不是,请在下面的命令中更改它。您在本图中看到的命令基于“How to SSH into the Docker VM (MobyLinuxVM) on Windows”
从技术上讲,我们不会通过SSH登录到VM,我们将创建一个具有完全超级用户访问权限的容器,然后从那里访问文件系统。
打开命令提示符并执行以下命令:
在那里执行Find命令,您应该会找到日志。
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
的路径的一部分。这里的volumeID
是71f7a5992c58fdcf229c3848acb014712f34fab380bc7c712cf5a0a632fe9110
。然后,您可以使用volumeID
并导航到数据所在的构件目录(上面的\\wsl$\docker-...
)下的volumes\[volumeID]
。