How to access /var/lib/docker in windows 10 docker desktop?

a3.14_Infinity picture a3.14_Infinity · Feb 26, 2020 · Viewed 8.4k times · Source
  1. Installed docker desktop for windows 10
  2. Used powershell to run docker containers ( ubuntu )
  3. Now, I want to browse to /var/lib/docker --> want to browse to overlay2 to check layers.. /diff folder etc.
  4. If i access /var/lib/docker folder - powershell complains that this folder does not exist.

Other piece of info: I have already checked out the disk image location which is mapped for docker desktop. It is a vhdx file. I was not able to open it with Oracle virtual box - it says it is not a supported version file. I tried opening in Hyper V manager, the VM is getting listed: DockerDesktopVM.

  • But my objective is to do SSH and browse /var/lib/docker folders..

enter image description here

Answer

Xiao-Feng Li picture Xiao-Feng Li · Jul 11, 2020

(This is for case of WSL2. It is my answer to a similar question)

Docker images are managed by docker's own VM. The path /var/lib/docker given by "docker info" is relative to docker's host file system, not your container's file system. The mount points are different for them. You can view docker's host file system in either of the following ways:

  1. You can mount the host file system to a container directory. Such as,

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

    This command runs a shell in Ubuntu docker image, mounting docker's file system to /data directory. There you can find a complete file system under /data, including the ./var/lib/docker. If you want, you can "chroot /data" in the shell prompt to have a better view.

  2. When docker is enabled with your distribution in WSL2, you can always check your containers in your distribution /mnt directory. Docker has mounted everything for you.

    /mnt/wsl/docker-desktop-data/data/docker
  3. If you are seasoned enough, you may find the actual location of the virtual disk of all the data in your Windows directory.

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

    Or probably just for fun:

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

    Unfortunately I haven't tried to dive into them.