在使用Windows 10的hyper-v时,如何定位Docker镜像和容器

3

我无法找到存储在我的计算机上的镜像和容器的位置,我查看了这里以及在Docker Root Dir中使用'docker info',我得到了/var/lib/docker,但我无法在任何地方找到它。


这个回答解决了你的问题吗?如何在Windows 10 Docker桌面版中访问/var/lib/docker? - Metro Smurf
2个回答

1
他们生活在 C:\ProgramData\docker 下。

2
非常抱歉,我是新手,但在那个文件夹下面,我有不同的 service.txt 文件,看起来像日志文件,总共重量为 300KB。我已经使用 docker 下载了 mongodb 和其他更大的东西,应该至少有 1GB 的数据。 - MrSir
你正在运行Linux容器吗?如果是这样,Windows将在虚拟机中运行它,并且该文件夹将位于您提到的文件夹下的虚拟机中。 - Colm Prunty
我在Hyper-V中有MobyLinuxVM,所有Hyper-V数据都安装在c:\windows下。 - MrSir
您的容器将在该虚拟机上,您需要通过SSH登录才能查看它们。 - Colm Prunty
好的,我成功地通过 Hyper-V 管理器将数据从虚拟机传输到本地文件夹,谢谢。 - MrSir
大家好,我是一名Docker初学者。我的Docker信息显示了相同的路径/var/lib/docker,但是我在我的虚拟机中找不到docker在我的/var/lib下。我正在使用Windows 10和Linux容器。 - Zuha Karim

1
(这适用于WSL2情况。)
Docker镜像由docker自己的虚拟机管理。由“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”以获得更好的视图。

  2. 当WSL2中启用了您的发行版的docker时,您可以始终在/mnt目录下的您的发行版中检查您的容器。Docker已经为您挂载了一切。

    /mnt/wsl/docker-desktop-data/data/docker
  3. 如果您足够有经验,您可能会发现所有数据的虚拟磁盘的实际位置位于Windows目录中。

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

    或者只是为了好玩:

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接