Both your own WSL 2 distro and docker-desktop run on the same utility VM.
They share the same Kernel, VFS cache etc. They just run in separate namespaces so that they have the illusion of running totally independently.
The code should be in the default Linux distribution for the best development experience using Docker and WSL 2.
Your project files should be stored within your WSL 2 distro of choice, you should run the docker CLI from this distro, and you should avoid accessing files stored on the Windows host as much as possible.
Docker creates two distro folders to store data:
To see these folders, replace <distro name> with the name of your distribution (ie. Ubuntu-20.04)
- example in file explorer
docker: Got permission denied
You may got a permission denied when running a docker command in WSL.
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/create?name=dokuWsl: dial unix /var/run/docker.sock: connect: permission denied. See 'docker run --help'.
That's because you don't have enough permission and the easiest way to solve this problem is to run you command with sudo