Closed GuyPaddock closed 3 years ago
Closing out -- this looks like a Lando issue. Here's why:
For others running into this issue:
lando rebuild
) resolved the Cannot create container for service appserver: not a directory
message. I suspect restarting Docker Desktop might have resolved this as well; I remember having to do this a lot for this kind of error a few years back but had forgotten that sometimes this can happen since it hasn't happened in a long time.I reached the conclusion that resetting Docker might fix the problem when I observed that the Drupal 7 Lando recipe was mounting the SMB-hosted folder as a volume via a named mount like the following:
/run/desktop/mnt/host/wsl/docker-desktop-bind-mounts/Ubuntu/1644e8b45b13530a823cabcef28cf8bc95190569e8f80b73be6763e0c4e4d5c4:/app:cached
While my other Lando app was mounting it as:
/mnt/c-cifs/MyFolder
So I concluded that perhaps Docker had something cached or conflicting that was preventing it from translating that path to a bind mount internally.
Closed issues are locked after 30 days of inactivity. This helps our team focus on active issues.
If you have found a problem that seems similar to this, please open a new issue.
Send feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows. /lifecycle locked
Actual behavior
After upgrading Windows to 19043, it no longer appears possible to launch a Docker container from inside WSL2 using a folder from a mounted SMB/CIFS2 as a volume inside the container (i.e. if a folder in Windows is
C:\MyFolder
, and I have mounted the C drive over SMB as/mnt/c-cifs
, then I am trying to start a container inside WSL2 that has a volume mounted from/mnt/c-cifs/MyFolder
)./mnt/c/MyFolder
), the container starts but runs slowly (as documented for drvfs in WSL2 in https://github.com/microsoft/WSL/issues/4197).Expected behavior
Previously, Docker for Windows was able to mount folders that live on SMB mounts inside WSL2 inside containers without issue.
Information
Steps to reproduce the behavior
docker-ce
so that it uses the version of Docker provided by Docker for Windows instead.C
drive of the host system to be mounted (e.g.sudo mkdir /mnt/c-cifs
).C
drive of the host system over SMB using a script like this (customizeUSERNAME
):read -p "Windows password: " password
sudo mount -o username="${USERNAME}" -o password="${password}" -o uid=$(id -u) -o gid=$(id -g) -o vers=3 "//${HOST_IP}/c" /mnt/c-cifs/