如何在windows 10 docker桌面中访问/var/lib/docker?

s3fp2yjn  于 2022-11-22  发布在  Docker
关注(0)|答案(3)|浏览(892)

1.为Windows 10安装了Docker桌面
1.使用powershell运行docker容器(ubuntu)
1.现在,我想浏览到/var/lib/docker --〉想浏览到overlay 2来检查层../diff文件夹等。
1.如果我访问/var/lib/docker文件夹- powershell会抱怨这个文件夹不存在。
其他信息:我已经 checkout 了Map到Docker桌面的磁盘映像位置。它是一个vhdx文件。我无法使用Oracle虚拟机打开它-它说它不是支持的版本文件。我尝试在Hyper V管理器中打开,VM被列出:坞站桌面虚拟机。

  • 但我的目标是执行SSH并浏览/var/lib/docker文件夹。
tp5buhyn

tp5buhyn1#

(This是WSL 2的情况。对于类似问题,它是my answer
Docker映像由Docker自己的VM管理。“docker info”提供的路径/var/lib/docker相对于Docker的主机文件系统,而不是容器的文件系统。它们的挂载点不同。您可以通过以下任一方式查看Docker的主机文件系统:
1.您可以将主机文件系统挂载到容器目录。例如,

docker run -v /:/data -it ubuntu /bin/bash

这个命令在Ubuntu docker镜像中运行一个shell,将docker的文件系统挂载到/data目录。在那里你可以在/data下找到一个完整的文件系统,包括./var/lib/docker。如果你愿意,你可以在shell提示符下“chroot /data”以获得更好的视图。
1.当在WSL 2中为您的发行版启用了Docker时,您总是可以在您的发行版/mnt目录中检查您的容器。Docker已经为您装载了所有内容。

/mnt/wsl/docker-desktop-data/data/docker

1.如果您经验丰富,可以在Windows目录中找到所有数据的虚拟磁盘的实际位置。

C:\Users\your_name\AppData\Local\Docker\wsl\data\

或者可能只是为了好玩:

\\wsl$\Ubuntu\mnt\wsl\docker-desktop-data\data\docker

不幸的是,我还没有尝试深入研究它们。

wd2eg0qa

wd2eg0qa2#

This page of docker forums所述,你可以用shell运行纯debiandocker图像,并将其名称空间改为docker host
您需要运行的终端命令是:

>> docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -i sh

据我所知,在运行debian映像作为终端(-it选项)后,您需要调用带有指定参数的命令nsenter来将名称空间更改为主机。在此之后,您的容器将变为Docker host,您可以查看它的所有文件。
在这个命令之后,你可以通过调用简单地访问Docker图像:

>> cd ls /var/lib/docker/
7dl7o3gd

7dl7o3gd3#

在你的windows文件资源管理器的左窗格中,你可以找到你所有的计算机驱动器。如果你已经安装了WSL(当你安装你的Docker时),你会看到这个Linux pinguin图标。
选择docker-desktop-data目录,并在其中选择data目录。在数据目录中,您将找到docker目录和docker run ... -v命令生成的卷。
快捷方式为:cd \\wsl.localhost\docker-desktop-data\data

相关问题