I'm just trying out WSL 2 with Docker for Windows and I'm having an issues with mounted volumes :
version: "3.7"
services:
node:
build: .
container_name: node
hostname: node
volumes:
- ./app:/app
stdin_open: true
the container build and start well, I access it with docker exec nicely but the /app
folder inside the container isn't bound to my laptop app
folder. However the right path is actually correctly mounted on the running container :
(here I do pwd on the host to if it matches perfectly with what is mounted on the container)
➜ app pwd
/mnt/c/Users/willi/devspace/these/app
And this is screen of portainer telling me what path are mounted where in the container and everything matches.
The file I create int he app folder on the host are not visible in the app folder of the container and vice-versa. This is weird and I don't know how to debug it.
Complementary infos:
docker version
output in WSL : 19.03.12docker-compose version
: 1.26.2Thanks
As @Pablo mentioned, the Best-Practice seems to be using WSL File system for mapping Volumes.
Take a look at the Docker Documentation concerning WSL2:
docker run -v <host-path>:<container-path>
) in the Linux filesystem, rather than the Windows filesystem.docker run -v /mnt/c/users:/users
(where /mnt/c
is mounted from Windows).docker run -v ~/my-project:/sources <my-image>
where ~
is expanded by the Linux shell to $HOME
.